Excel VBA質問箱 IV

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

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


53 / 13293 ツリー ←次へ | 前へ→

【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 発言[未読]

【80533】Re:処理が遅くなってしまう
発言  amatsuno  - 19/2/28(木) 14:05 -

引用なし
パスワード
   'ログ情報のうち、必要な列のみを抽出

  ws_master_csv.Columns(2).Copy
  ws_master_csv_new.Columns(5).PasteSpecial Paste:=xlPasteValues
 
  ws_master_csv.Columns(8).Copy ws_master_csv_new.Columns(2)
 
  ws_master_csv.Columns(18).Copy ws_master_csv_new.Columns(3)
  
  ws_master_csv.Columns(11).Copy
  ws_master_csv_new.Columns(4).PasteSpecial Paste:=xlPasteValues
  ws_master_csv_new.Columns(4).NumberFormatLocal = "h:mm:ss"
  
  ws_master_csv.Columns(7).Copy ws_master_csv_new.Columns(1)
  
        
 'グループ情報のうち、必要な列のみを抽出
 
  ws_group.Columns(1).Copy
  ws_group_new.Columns(1).PasteSpecial Paste:=xlPasteValues
 
  ws_group.Columns(5).Copy
  ws_group_new.Columns(2).PasteSpecial Paste:=xlPasteValues
    
  ws_group.Columns(2).Copy
  ws_group_new.Columns(3).PasteSpecial Paste:=xlPasteValues
  
      
 '表示名が空白のレコードに、端末機に紐付いている名称を入れる
  ws_master_csv_new.Columns(5).Copy
  ws_group_user.Columns(1).PasteSpecial Paste:=xlPasteValues
 
  ws_master_csv_new.Columns(1).Copy
  ws_group_user.Columns(2).PasteSpecial Paste:=xlPasteValues
    
  ws_master_csv.Columns(6).Copy
  ws_group_user.Columns(3).PasteSpecial Paste:=xlPasteValues
  
          
  Const cFormula As String = "=VLOOKUP(@,グループ情報更新!A:C,3,FALSE)"
  With Worksheets("名称補完")
    Worksheets("利用ユーザ").Range("A:C").Copy .Range("A:A")
    With .Range("A1").CurrentRegion.Columns(2)
      If Application.CountBlank(.Cells) > 0 Then
        With .SpecialCells(xlCellTypeBlanks)
        .Formula = Replace(cFormula, "@", .Cells(1).Offset(, -1).Address(False, False))
        End With
      .Value = .Value
      End If
    End With
   End With
          
   
  '名称を入れた表に、実行操作と所要時間を追加する
  ws_master_csv_new.Columns(3).Copy
  ws_cover.Columns(4).PasteSpecial Paste:=xlPasteValues
 
 
  ws_master_csv_new.Columns(4).Copy
  ws_cover.Columns(5).PasteSpecial Paste:=xlPasteValues
  ws_cover.Columns(5).NumberFormatLocal = "h:mm:ss"

  
  ws_cover.Columns(2).Copy ws_master_csv_new.Columns(1)


  ws_master_csv_new.Activate
  

'操作時間を抽出する
  Dim i4, LastRow As Long
  LastRow = Cells(Rows.Count, 1).End(xlUp).Row
  For i4 = 1 To LastRow
    If Cells(i4, 3) = "操作終了" Then
      Rows(i4).Copy ws_usetime.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
    End If
  Next i4


'各ユーザの操作の最も古い時刻と最も新しい時刻を出力結果に抽出する
  With ws_master_csv_new.Range("A2:D" & ws_master_csv_new.Cells(Rows.Count, 1).End(xlUp).Row)
    v = .Value
    For i = 1 To UBound(v)
      m = dic(v(i, 1))
      If m = 0 Then
        n = n + 1
        v(n, 1) = v(i, 1)
        v(n, 2) = v(i, 2)
        v(n, 3) = v(i, 2)
        dic(v(i, 1)) = n
      Else
        If v(m, 2) > v(i, 2) Then
          v(m, 2) = v(i, 2)
        End If
        If v(m, 3) < v(i, 2) Then
          v(m, 3) = v(i, 2)
        End If
      End If
    Next i
    ws_res.Cells(1, 1).Resize(n, .Columns.Count - 1) = v
    
  End With
  
  Set dic = Nothing


  ws_usetime.Columns(1).Copy
  ws_usetime_new.Columns(1).PasteSpecial Paste:=xlPasteValues
    
  ws_usetime.Columns(2).Copy
  ws_usetime_new.Columns(4).PasteSpecial Paste:=xlPasteValues

    
  ws_usetime.Columns(3).Copy
  ws_usetime_new.Columns(3).PasteSpecial Paste:=xlPasteValues
    
  ws_usetime.Columns(4).Copy
  ws_usetime_new.Columns(2).PasteSpecial Paste:=xlPasteValues
  ws_usetime_new.Columns(2).NumberFormatLocal = "h:mm:ss"
    
  ws_usetime.Columns(5).Copy
  ws_usetime_new.Columns(5).PasteSpecial Paste:=xlPasteValues
  
  
  ws_addtime.Activate

  
  '各ユーザーの利用時間を合算
 With Worksheets("開始終了更新")
   For i3 = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
     vK2 = .Cells(i3, "A").Value
     dic2(vK2) = dic2(vK2) + .Cells(i3, "B")
   Next
  End With

  ReDim vA3(1 To dic2.Count, 1 To 2)
  i3 = 0
  For Each vK2 In dic2.Keys
   i3 = i3 + 1
   vA3(i3, 1) = vK2
   vA3(i3, 2) = dic2(vK2)
  Next

  Application.ScreenUpdating = False
  With Worksheets("時間合計")
   With .Range("A1").Resize(i3, 2)
     .EntireColumn.ClearContents
     .Value = vA3
     .Columns(2).NumberFormatLocal = "h:mm:ss"
     Application.Goto .Cells(1), True
   End With
  End With
  Application.ScreenUpdating = True

  Rows(1).Insert


  Set dic2 = Nothing


   'ここで、マスタCSVから取得⇒配列にいれる列を指定


  ws_res.Columns(3).Copy
  ws_last.Columns(1).PasteSpecial Paste:=xlPasteValues
  ws_last.Columns(1).NumberFormatLocal = "yyyy/m/d"
  
  ws_res.Columns(1).Copy
  ws_last.Columns(3).PasteSpecial Paste:=xlPasteValues
  
  
  ws_res.Columns(2).Copy
  ws_last.Columns(4).PasteSpecial Paste:=xlPasteValues
  ws_last.Columns(4).NumberFormatLocal = "h:mm:ss"
  
  ws_res.Columns(3).Copy
  ws_last.Columns(5).PasteSpecial Paste:=xlPasteValues
  ws_last.Columns(5).NumberFormatLocal = "h:mm:ss"
 
  
  ws_addtime.Columns(2).Copy
  ws_last.Columns(6).PasteSpecial Paste:=xlPasteValues
  ws_last.Columns(6).NumberFormatLocal = "h:mm:ss"
  
  
  ws_addtime.Rows(1).Delete
   
  ws_last.Activate
 
  Rows(1).Insert

  Range("A1").Value = "日付"
  Range("B1").Value = "部署"
  Range("C1").Value = "エージェント"
  Range("D1").Value = "ON"
  Range("E1").Value = "OFF"
  Range("F1").Value = "稼働時間"


  ws_group_new.Columns(3).Copy
  ws_group_new_2.Columns(1).PasteSpecial Paste:=xlPasteValues
 
  
  ws_group_new.Columns(2).Copy
  ws_group_new_2.Columns(3).PasteSpecial Paste:=xlPasteValues
  
  
  ws_group_new.Columns(1).Copy
  ws_group_new_2.Columns(2).PasteSpecial Paste:=xlPasteValues
  
  ws_last.Columns(3).Copy
  ws_group_new_3.Columns(1).PasteSpecial Paste:=xlPasteValues
 
  
  ws_last.Columns(2).Copy
  ws_group_new_3.Columns(2).PasteSpecial Paste:=xlPasteValues
  
  
  ws_last.Columns(1).Copy
  ws_group_new_3.Columns(3).PasteSpecial Paste:=xlPasteValues


  Const cFormula2 As String = "=VLOOKUP(@,グループ補完2!A:C,3,FALSE)"
  With Worksheets("グループ名")
    Worksheets("グループ補完").Range("A:C").Copy .Range("A:A")
    With .Range("A1").CurrentRegion.Columns(2)
      If Application.CountBlank(.Cells) > 0 Then
        With .SpecialCells(xlCellTypeBlanks)
        .Formula = Replace(cFormula2, "@", .Cells(1).Offset(, -1).Address(False, False))
        End With
      .Value = .Value
      End If
    End With
   End With


  ws_group_name.Columns(2).Copy
  ws_last.Columns(2).PasteSpecial Paste:=xlPasteValues
  

   ws_last.Activate
  
  With Range("b2:b30000")
  .Replace what:="#N/A", replacement:="dummy", lookat:=xlWhole
  End With

    
'  ws_last.SaveAs "P:\fileexp.csv", FileFormat:=xlCSV, Local:=True


  '初期画面に戻る
  ws_btn.Activate
  
      
  Debug.Print Time
  
  '処理の終了
  Close #intFree
  Close #intFree2
  
  Call MsgBox("取り込みが完了しました。", vbSystemModal)
'  Application.DisplayAlerts = False 'メッセージを非表示設定に変更
'  Application.Quit
'  Workbooks.Close
'  Application.DisplayAlerts = True 'メッセージを表示設定に変更
    
End Sub

【80534】Re:処理が遅くなってしまう
発言  amatsuno  - 19/2/28(木) 14:12 -

引用なし
パスワード
   ログ.csv

所属マスターサーバー,端末機No,コンピューター名,IPアドレス,セッションID,ログイン名,表示名,日時,カテゴリ,警告,期間,パス / URL,タイトル,説明,MACアドレス,アクセスPC,アクセスユーザー,操作種別,共有名,パス1,ドライブ種別1,デバイス名1,ベンダID1,プロダクトID1,シリアルNo1,パス2,ドライブ種別2,デバイス名2,ベンダID2,プロダクトID2,シリアルNo2,テキスト,プリンター名,印刷枚数,受信者,送信者,添付,メールサイズ,ドライブ種別,操作内容1,操作内容2,書き込み内容 / ファイル名,種別,ゲートウェイMACアドレス,ゲートウェイIPアドレス,個別情報1,個別詳細1,個別情報2,個別詳細2,個別情報3,個別詳細3,個別情報4,個別詳細4,接続元コンピューター名,接続元IPアドレス,アプリケーション名(Windowsストアアプリ),パッケージID(Windowsストアアプリ),ホスト名 / IPアドレス,ポート名 / デバイスURI,ファイルサイズ(バイト),印刷ファイルパス,管理番号1,管理番号2,デバイス種別,デバイス名,ネットワークカード情報,アクセスポイント情報,デバイス種別詳細,ファイルパス,ハッシュ値,通信先IPアドレス,通信先ポート番号,国 / 地域,累積送信データ量(バイト),累積受信データ量(バイト),アカウント監査(操作No),アカウント監査(アプリケーション名称),アカウント監査(ログインアカウント),アカウント監査(画面名称),アカウント監査(項目名称),アカウント監査(収集データ),ドメイン名,プロセスID,アラート優先順位,Webストレージ1,Webストレージ2,Webストレージ / メール,バイト数,ファイル数,値の名前(レジストリ),値の種類1(レジストリ),値の種類2(レジストリ),値のデータ1(レジストリ),値のデータ2(レジストリ),データサイズ1(レジストリ),データサイズ2(レジストリ),起動モード,補正後の日時,補正前の日時
logSV,1,logSVMM,1.2.3.4,1,11login,,2019/2/26 9:56,起動・終了,,0:00:05,,,,,,,操作終了,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,1,logSVMM,1.2.3.4,1,11login,,2019/2/26 9:56,起動・終了,,0:00:05,,,,,,,操作開始,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,1,logSVMM,1.2.3.4,1,11login,,2019/2/26 9:41,起動・終了,,0:02:23,,,,,,,操作終了,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,1,logSVMM,1.2.3.4,1,11login,,2019/2/26 9:39,起動・終了,,0:02:23,,,,,,,操作開始,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,1,logSVMM,1.2.3.4,1,11login,,2019/2/26 9:23,起動・終了,,0:05:08,,,,,,,操作終了,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,1,logSVMM,1.2.3.4,1,11login,,2019/2/26 9:18,起動・終了,,0:05:08,,,,,,,操作開始,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,15,15SVMM,4.5.6.7,3,33login,15のユーザ,2019/2/26 15:18,起動・終了,,2:19:53,,,,,,,操作終了,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,15,15SVMM,4.5.6.7,3,33login,15のユーザ,2019/2/26 12:58,起動・終了,,2:19:53,,,,,,,操作開始,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,15,15SVMM,4.5.6.7,3,33login,15のユーザ,2019/2/26 12:06,起動・終了,,0:00:44,,,,,,,操作終了,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,15,15SVMM,4.5.6.7,3,33login,15のユーザ,2019/2/26 12:05,起動・終了,,0:00:44,,,,,,,操作開始,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,15,15SVMM,4.5.6.7,3,33login,15のユーザ,2019/2/26 12:01,起動・終了,,1:27:49,,,,,,,操作終了,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,15,15SVMM,4.5.6.7,3,33login,15のユーザ,2019/2/26 10:33,起動・終了,,1:27:49,,,,,,,操作開始,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,15,15SVMM,4.5.6.7,0,,,2019/2/26 8:28,起動・終了,,0:00:00,,,,,,,電源ON,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,通常起動,,
logSV,18,18SVMM,13.14.15.16,1,18login,18のユーザ,2019/2/26 15:58,起動・終了,,2:18:49,,,,,,,操作終了,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,18,18SVMM,13.14.15.16,1,18login,18のユーザ,2019/2/26 13:39,起動・終了,,2:18:49,,,,,,,操作開始,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,18,18SVMM,13.14.15.16,1,18login,18のユーザ,2019/2/26 13:34,起動・終了,,0:13:44,,,,,,,操作終了,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,18,18SVMM,13.14.15.16,1,18login,18のユーザ,2019/2/26 13:20,起動・終了,,0:13:44,,,,,,,操作開始,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,18,18SVMM,13.14.15.16,1,18login,18のユーザ,2019/2/26 13:11,起動・終了,,0:11:45,,,,,,,操作終了,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,18,18SVMM,13.14.15.16,1,18login,18のユーザ,2019/2/26 12:59,起動・終了,,0:11:45,,,,,,,操作開始,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,18,18SVMM,13.14.15.16,1,18login,18のユーザ,2019/2/26 12:02,起動・終了,,0:03:15,,,,,,,操作終了,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,18,18SVMM,13.14.15.16,1,18login,18のユーザ,2019/2/26 11:59,起動・終了,,0:03:15,,,,,,,操作開始,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,18,18SVMM,13.14.15.16,1,18login,18のユーザ,2019/2/26 11:50,起動・終了,,2:58:54,,,,,,,操作終了,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,18,18SVMM,13.14.15.16,1,18login,18のユーザ,2019/2/26 8:51,起動・終了,,2:58:54,,,,,,,操作開始,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,18,18SVMM,13.14.15.16,1,18login,18のユーザ,2019/2/26 8:51,起動・終了,,0:01:00,,,,,,,操作終了,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,18,18SVMM,13.14.15.16,1,18login,18のユーザ,2019/2/26 8:50,起動・終了,,0:01:00,,,,,,,操作開始,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,,,
logSV,18,18SVMM,13.14.15.16,0,,,2019/2/26 8:48,起動・終了,,0:00:00,,,,,,,電源ON,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,通常起動,,
logSV,82,82SVMM,取得失敗,10,82login,82のユーザ,2019/2/26 9:24,起動・終了,,23:52:08,,,,,,,ログオフ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,vbstest.co.jp,,,,,,,,,,,,,,,通常起動,,
logSV,82,82SVMM,22.33.44.55,0,,,2019/2/26 9:24,起動・終了,,0:00:00,,,,,,,電源ON,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,通常起動,,

【80535】Re:処理が遅くなってしまう
発言  amatsuno  - 19/2/28(木) 14:18 -

引用なし
パスワード
   ライセンス.csv

端末機No,端末機名,端末機タイプ,所属マスターサーバー,部署名,コンピューター名,ホスト名,ドメイン名(ワークグループ名),ログオンユーザー,表示名,OS名,プロダクトID
1,logSVMM,サーバー,logSV,NW1,logSVMM,logSVMM,vbstest.co.jp,11login,,Windows Server 2016 Standard (x64),AAAAA
15,15SVMM,PC,logSV,NW1,15SVMM,15SVMM,vbstest.co.jp,33login,15のユーザ,Windows 10 Pro (x64),AAAAA
18,18SVMM,PC,logSV,NW2,18SVMM,18SVMM,vbstest.co.jp,18login,18のユーザ,Windows 10 Pro (x64),AAAAA
75,75SVMM,PC,logSV,NW2,75SVMM,75SVMM,vbstest.co.jp,75login,18のユーザ,Windows 7 Professional,AAAAA
76,76SVMM,PC,logSV,NW2,76SVMM,76SVMM,vbstest.co.jp,76login,18のユーザ,Windows 7 Professional,AAAAA
82,82SVMM,PC,logSV,NW2,82SVMM,82SVMM,vbstest.co.jp,82login,18のユーザ,Windows 10 Pro (x64),AAAAA

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