2017-08-19 13 views
1

ディレクトリ内のすべてのExcelシートでマクロを実行し、新しいディレクトリに保存しようとしています。複数のExcelファイルでマクロを実行し、別々のディレクトリに保存する

Sub TestMacro() 

Dim pathname As String 
Dim newpath As String 
Dim newfullpath As String 
Dim filenam As String 
Dim fullpath As String 

pathname = "\\filepath\" 
newpath = "\\filepath\newfilepath\" 
filenam = Dir(pathname & "*.xls") 


fullpath = pathname & filenam 
Do While filenam <> "" 
    MsgBox (filenam) 
    newfullpath = newpath & filenam 

    Workbooks.Open Filename:=fullpath, ReadOnly:=True 
     Sheets("Sheet 1").Select 
     Sheets("Sheet 1").Name = "Sheet1" 

    ActiveWorkbook.SaveAs Filename:=newfullpath 

    'MsgBox (filenam) 
    ActiveWindow.Close 
    'Workbooks.Close 

    filenam = Dir() 
Loop 
End Sub 

ここでの問題は、新しいディレクトリ内のすべてのExcelシートは、私がコードを間違ったつもりだ ファイルパス\の最初の優れたシートの内容が含まれていることです:私のコードがあると? ありがとうございます!

+0

ActiveWorkbook.SaveAsファイル名:= newfullpath&filenam –

+0

@Dy。 Lee newfullpath = newpath&filenamファイルは異なるファイル名で保存されます。しかし内容は同じです。 –

答えて

1

あなたのコードは常に同じワークブックを開いている:

Workbooks.Open Filename:=fullpath, ReadOnly:=True 

あなたはpathname & filenamによって定義されたワークブックを開くべきである、すなわち

Workbooks.Open Filename:=pathname & filenam, ReadOnly:=True 
+0

ありがとう!!ブロック中にdo fullpath = pathname&filenamを含めて問題を解決しました。 –

関連する問題