2017-06-05 5 views
-1

ファイルパスの場所のファイル名が "xx"の場合にのみ、以下を実行します。現在のところ、ファイル「<」>「xx」を開きます。私はここで何が欠けていますか?ファイル名= "xx"の場合にのみ実行するVBA

Sub UpdateMasterLog() 
Dim MyFile As String 
Dim LastRow As Long 
Dim erow1 
Dim Filepath1 

If FileName = "XX" Then 

Filepath1 = "Z:\test folder" 
MyFile = Dir(Filepath1) 

    Workbooks.Open (Filepath1 & MyFile) 
    ActiveWorkbook.Worksheets("sheet1").Activate 
    LastRow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row 
    Range("A2:P" & LastRow).Copy 
    ActiveWorkbook.Close 

    ActiveSheet.Paste Destination:=Worksheets("Sheet1").Range("C" & Rows.Count).End(xlUp).Offset(1, -2) 

End If 

End Sub 
+1

これは不完全ですか?私はFileNameが – serakfalcon

答えて

0

これを試してみてください:

Filepath1 = "Z:\test folder" 
Do While fileName <> "" 

    If filename = "xx" then 
      Workbooks.Open (Filepath1 & MyFile) 
      ActiveWorkbook.Worksheets("sheet1").Activate 
      LastRow = Cells.Find("*", SearchOrder:=xlByRows,     
      SearchDirection:=xlPrevious).Row 
      Range("A2:P" & LastRow).Copy 
      ActiveWorkbook.Close 
      ActiveSheet.Paste Destination:=Worksheets("Sheet1").Range("C" & Rows.Count).End(xlUp).Offset(1, -2) 
    End If 

    Filepath1 = Dir() 
Loop 

は/今のところこれを使用し、何が起こるかを教えてください。ベスト!

+0

から来ているのを見ません。私は上記の調整を行い、 "xx"という名前のファイルは開きません。 do while文の前にファイル名を持ち込み、定義する必要がありますか? – Kerry

+0

yea、filenameは、定義した変数です。ファイル名とパスの両方を定義する必要があります。あなたがそれをした後、適切なファイルを開きます。 – Jsleshem

+0

この作品はありますか?私は好奇心が強いです – Jsleshem