Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


119 / 75006 ←次へ | 前へ→

【80532】処理が遅くなってしまう
質問  amatsuno  - 19/2/28(木) 14:04 -

引用なし
パスワード
   csvファイルを読み込んで、各ユーザのログイン時刻とログアウト時刻
また、実利用時間を取得するスクリプトを作成しています

スクリプト自動実行をおこなっている関係上、
1つのマクロで全処理を実施する必要が発生したため、
各処理を結合したのですが、処理が冗長化しているのか、
別々にしたときよりも実行時間がかかってしまいます。

そこで、スリム化を計画しているのですが、
具体的に手を入れる箇所がうまくわからない状態です。

申し訳ございませんが、
どこを修正すればよいのか、ご教授いただけますでしょうか。
(処理が遅くなっている原因などもお分かりになりましたら、お願いいたします)

Option Explicit

Sub CSV_READ()
 'マスタファイルを読み込むマクロ

  Dim varFileName As Variant
  Dim varFileName2 As Variant
  Dim intFree As Integer
  Dim intFree2 As Integer
  Dim strRec As String
  Dim strRec2 As String
  Dim strSplit() As String
  Dim strSplit2() As String
  Dim i As Long, j As Long
  Dim i2 As Long, j2 As Long
  Dim i3 As Long, j3 As Long
  Dim m As Long, n As Long
  Dim dic As Object
  Dim rng As Range
  Dim vA As Variant, vB As Variant, v As Variant
  Dim ii As Long, jj As Long, kk As Long, nn As Long
   
  Dim vA2 As Variant, vB2 As Variant, v2 As Variant
  Dim ii2 As Long, jj2 As Long, kk2 As Long, nn2 As Long
  
   
  Dim dic2 As Object
  Dim vA3 As Variant, vK2 As Variant, vK3 As Variant


  Dim csvFile As String
  Dim ii3 As Long, jj3 As Long
  
  Dim ws_master_csv As Worksheet
  Dim ws_master_csv_new As Worksheet
  Dim ws_btn As Worksheet
  Dim ws_group As Worksheet
  Dim ws_group_new As Worksheet
  Dim ws_group_user As Worksheet
  Dim ws_cover As Worksheet
  Dim ws_usetime As Worksheet
  Dim ws_usetime_new As Worksheet
  Dim ws_addtime As Worksheet
  Dim ws_res As Worksheet
  Dim ws_last As Worksheet
  Dim ws_group_name As Worksheet
  Dim ws_group_new_3 As Worksheet
  Dim ws_group_new_2 As Worksheet
  
  
  Dim ws_add As Worksheet
  Set ws_add = Worksheets.Add
  ws_add.Name = "最終csv"


  Set ws_master_csv = Worksheets("マスタCSV")
  Set ws_master_csv_new = Worksheets("マスタCSV更新")
  Set ws_btn = Worksheets("ボタン")
  Set ws_group = Worksheets("グループ情報")
  Set ws_group_new = Worksheets("グループ情報更新")
  Set ws_group_user = Worksheets("利用ユーザ")
  Set ws_cover = Worksheets("名称補完")
  Set ws_usetime = Worksheets("開始終了")
  Set ws_usetime_new = Worksheets("開始終了更新")
  Set ws_addtime = Worksheets("時間合計")
  Set ws_res = Worksheets("出力結果")
  Set ws_last = Worksheets("最終csv")
  Set ws_group_name = Worksheets("グループ名")
  Set ws_group_new_3 = Worksheets("グループ補完")
  Set ws_group_new_2 = Worksheets("グループ補完2")
  
  Set dic = CreateObject("Scripting.Dictionary")
  Set dic2 = CreateObject("Scripting.Dictionary")


  ws_master_csv.Activate
 
 
  '貼り付け先を空白にする
  ws_master_csv.Cells.Clear
  ws_master_csv_new.Cells.Clear
  ws_group.Cells.Clear
  ws_group_new.Cells.Clear
  ws_group_user.Cells.Clear
  ws_cover.Cells.Clear
  ws_usetime.Cells.Clear
  ws_usetime_new.Cells.Clear
  ws_addtime.Cells.Clear
  ws_res.Cells.Clear
  ws_last.Cells.Clear
  ws_group_name.Cells.Clear
  ws_group_new_3.Cells.Clear
  ws_group_new_2.Cells.Clear
 
  '読み込むファイルを指定する
  varFileName = "P:\ログ.csv"
  varFileName2 = "P:\ライセンス.csv"


  intFree = FreeFile '空番号を取得
  Open varFileName For Input As #intFree 'CSVファイルをオープン

  'ログ情報のcsvファイルを1行ずつ読み込んで貼り付ける
  i = 0
  Do Until EOF(intFree)
    Line Input #intFree, strRec '1行読み込み
    i = i + 1
    strSplit = Split(strRec, ",") 'カンマ区切りで配列へ
    For j = 0 To UBound(strSplit)
      Cells(i, j + 1) = strSplit(j)
    Next
  Loop
 
  'グループ情報のcsvファイルを1行ずつ読み込んで貼り付ける
  ws_group.Activate

  intFree2 = FreeFile '空番号を取得
  Open varFileName2 For Input As #intFree2 'CSVファイルをオープン

  'csvファイルを1行ずつ読み込んで貼り付ける
  i2 = 0
  Do Until EOF(intFree2)
    Line Input #intFree2, strRec2 '1行読み込み
    i2 = i2 + 1
    strSplit2 = Split(strRec2, ",") 'カンマ区切りで配列へ
    For j2 = 0 To UBound(strSplit2)
      Cells(i2, j2 + 1) = strSplit2(j2)
    Next
  Loop

52 hits

【80532】処理が遅くなってしまう amatsuno 19/2/28(木) 14:04 質問[未読]
【80533】Re:処理が遅くなってしまう amatsuno 19/2/28(木) 14:05 発言[未読]
【80534】Re:処理が遅くなってしまう amatsuno 19/2/28(木) 14:12 発言[未読]
【80535】Re:処理が遅くなってしまう amatsuno 19/2/28(木) 14:18 発言[未読]
【80538】Re:処理が遅くなってしまう マナ 19/2/28(木) 18:54 発言[未読]
【80539】Re:処理が遅くなってしまう γ 19/2/28(木) 20:19 発言[未読]
【80541】Re:処理が遅くなってしまう amatsuno 19/3/1(金) 19:21 発言[未読]
【80542】Re:処理が遅くなってしまう amatsuno 19/3/1(金) 19:29 発言[未読]

119 / 75006 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free