Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Professional : Excel 2013)
ファイル名を順に取得したいです
投稿日時: 18/06/28 20:34:44
投稿者: wawa1

複数のエクセルが入っているフォルダから、
 任意のエクセルを順番に開いて印刷したいと思っています。
  
エクセルの名前の冒頭にはコードが付してあります。
 例:「1111111_2018_1_01.xlsx」
  
エクセルを開く順番は、コード(例で言えば「1111111」)が記載されている
一覧表の上から順にしたいです。
ただし、コードは重複ありとなっています。
  
--------------------------------------------
Dim i As Integer
 Dim myFile As String, myPath As String
 Dim code As String
   
 myPath = "C:\"
     For i = 2 To Range("d65536").End(xlUp).Row
         code = Cells(i, 4).Value
           
         myFile = Dir(myPath & "*.xlsx*") ※
         Workbooks.Open myPath & myFile
         Worksheets(i).PrintOut
       
     Next
--------------------------------------------
※の箇所について、コードを含むデータ名とするにはどうしたらいいでしょうか。
またはもっとよい方法があれば、教えていただけると幸いです。
  
お手数をお掛けいたしますが、よろしくお願いいたします。

回答
投稿日時: 18/06/28 22:15:40
投稿者: simple

        myFile = Dir(myPath & code & "*.xls*")
というようなことですか?

回答
投稿日時: 18/06/28 22:18:06
投稿者: WinArrow
投稿者のウェブサイトに移動

問題の個所
> myFile = Dir(myPath & "*.xlsx*")

 
         myFile = Dir(myPath & code & "*.xlsx") 
 
 
>コードは重複ありとなっています。
これは、何を意味するものかな?
 
セルに同じ「コード」が複数件あるってこと?
 
次は、修正した方がよいところ
> For i = 2 To Range("d65536").End(xlUp).Row

     For i = 2 To Range("D" & ROws.Count).End(xlUp).Row

投稿日時: 18/06/29 09:52:42
投稿者: wawa1

>simple様
   
ご回答ありがとうございます。
無事出来ました!
大変助かりました!!
    
>WinArrow様
   
ご回答ありがとうございます。
  
>myFile = Dir(myPath & code & "*.xlsx")
無事出来ました!
大変助かりました!!
   
>セルに同じ「コード」が複数件あるってこと?
おっしゃる通りです。
   
>For i = 2 To Range("D" & ROws.Count).End(xlUp).Row
ありがとうございます!
修正いたしました。