Excel VBA質問箱 IV

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

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


48017 / 76732 ←次へ | 前へ→

【33655】一覧表の作り方
質問  初心者  - 06/1/17(火) 16:43 -

引用なし
パスワード
   VBAは全くの初心者です。OSはWindowsXP、Excel2000を使用しています。
よろしくお願いいたします。

サーバーに受注票が(注文1件につき1sheet、各20sheetずつあるファイルが5つ)保管されています。
書式等はすべて同じで、それぞれA10:B12、B10:B12、C10:I12に受注番号などのデータが入力されています。
今回は、その受注番号などの一覧表を作成しようと思ってVBAに初挑戦することになりました。

全くのド素人のため、丁度「これは良いかもしれない!」と思う記述をネット内で見つけることができ、もしルール違反だったら申し訳ないのですが、使わせていただくことにしました。範囲名などを変えて実行してみたところ、もともと1sheetのみのファイルに対しての記述であったため、book内での繰り返し処理がなく、うまくいきません。
四苦八苦しながら、やっとFor Intcount To Thisworkbook sheet.count(?) というループ処理がシートの数だけループするということを知りました。
ただそのステートメントをどこに挿入すれば良いのかが、あれこれやってみたのですがどうしても分かりません。
どうか教えてください!!

Sub test02()
 'Microsoft Shell Controls And Automation に参照設定をしておくこと。
 Dim strPath      As String
 Dim objShell     As New Shell32.Shell
 Dim objFolder     As Shell32.Folder
 Dim strFileName    As String
 Dim lngRow      As Long
 Dim wbkSource     As Workbook
  
  'フォルダ選択ダイアログ
 Set objFolder = objShell.BrowseForFolder(0, "フォルダを選択してください。", 0)

  ' 選択内容を取得
 If Not objFolder Is Nothing Then
  strPath = objFolder.Items.Item.Path
  If Right(strPath, 1) <> "\" Then
   strPath = strPath & "\"
  End If
  
  strFileName = Dir(strPath & "*.xls", vbNormal)
  If strFileName <> "" Then
   Application.ScreenUpdating = False    '画面表示抑止
   With ThisWorkbook.ActiveSheet
   
    .Range("A1:C1").EntireColumn.ClearContents
    lngRow = 0
    
    Do While strFileName <> ""
     lngRow = lngRow + 1
     Set wbkSource = Workbooks.Open(strPath & strFileName)
     .Cells(lngRow, "A").Value = wbkSource.ActiveSheet.Range("A10:B12").Value
     .Cells(lngRow, "B").Value = wbkSource.ActiveSheet.Range("B10:B12").Value
     .Cells(lngRow, "C").Value = wbkSource.ActiveSheet.Range("C10:I12").Value
     wbkSource.Close False
     strFileName = Dir()
    Loop
   End With
   Application.ScreenUpdating = True    '画面表示抑止の解除
  End If
 End If
 Set objFolder = Nothing
 Set objShell = Nothing
End Sub

です。
出来れば、フォルダを選択せず、パス名を入れたいのですが出来ず、サーバー内のフォルダだからなのかそれも分からずじまいです。
・シートの数だけループする
・サーバー内のフォルダを指定する
方法を、教えてください。よろしくお願いいたします。

0 hits

【33655】一覧表の作り方 初心者 06/1/17(火) 16:43 質問
【33660】Re:一覧表の作り方 じゅん 06/1/17(火) 19:28 回答
【33683】Re:一覧表の作り方 初心者 06/1/18(水) 10:47 回答
【33684】Re:一覧表の作り方 Jaka 06/1/18(水) 11:10 発言
【33706】Re:一覧表の作り方 初心者 06/1/18(水) 16:17 お礼
【33686】Re:一覧表の作り方 じゅん 06/1/18(水) 12:04 発言
【33690】Re:一覧表の作り方 じゅん 06/1/18(水) 13:21 回答
【33705】Re:一覧表の作り方 初心者 06/1/18(水) 16:16 お礼
【33662】Re:一覧表の作り方 Statis 06/1/17(火) 19:59 発言
【33682】Re:一覧表の作り方 初心者 06/1/18(水) 9:53 回答
【33689】Re:一覧表の作り方 Statis 06/1/18(水) 13:17 質問
【33691】Re:一覧表の作り方 初心者 06/1/18(水) 13:33 回答
【33692】Re:一覧表の作り方 Statis 06/1/18(水) 13:59 回答
【33704】Re:一覧表の作り方 初心者 06/1/18(水) 16:14 お礼

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