Excel VBA質問箱 IV

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

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


21174 / 76738 ←次へ | 前へ→

【60966】Re:コードの纏め
発言  n  - 09/3/27(金) 23:00 -

引用なし
パスワード
   同様な処理の繰り返しなら、Loop処理でまとめてしまえば良いです。
それに、Dir1〜Dir12 はどうやって指定しますか?
InputBoxでそれぞれ指定するくらいなら、作業用セルにフォルダ名を入力しておいて、
その範囲をLoopしてあげれば良いでしょう。

下記はA1:A12のセル範囲にフォルダ名が入力してあるとします。
Sub test()
  Const cnsDIR = "\*.*"
  Dim strFILENAME As String
  Dim GYO As Long
  Dim r  As Range
  Dim v
  
  Application.ScreenUpdating = False
  Set r = Range("AP1")

  For Each v In Range("A1:A12").Value
    If Not IsEmpty(v) Then
      If Dir(v, vbDirectory) = "" Then
        r.Value = "指定のフォルダは存在しません。"
      Else
        strFILENAME = Dir(v & cnsDIR, vbNormal)
        GYO = 0
        Do While strFILENAME <> ""
          r.Offset(GYO).Value = strFILENAME
          GYO = GYO + 1
          strFILENAME = Dir()
        Loop
      End If
      If GYO > 1 Then r.Resize(GYO).Sort Key1:=r
    End If
    Set r = r.Offset(, 1)
  Next

  Set r = Nothing
  Application.ScreenUpdating = True
End Sub

 
0 hits

【60963】コードの纏め みね 09/3/27(金) 17:10 発言
【60966】Re:コードの纏め n 09/3/27(金) 23:00 発言

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