範囲(Workbooks)内で指定されたファイルを開き、そのファイルを更新し、別の範囲(SavedNames)で指定された名前の新しいファイルとして保存してから移動するマクロを作成しようとしています(Workbooks)内の次のセルに移動し、そのセルをリフレッシュして、2番目の範囲(SavedNames)に次のセルの名前を付けて保存します。誰もがそれを中心にソリューションや仕事を持っている場合、私は1つのリストから多数のファイルを別のリストの新しい名前で保存するにはどうすればよいですか?
Public Sub Refresh_All()
Dim filepathstr As String
Dim filename As String
Dim wbk As Workbook
Dim name As String
filepathstr = Sheet1.Range("filepath").Value
For Each cell In Sheet1.Range("workbooks")
If Not cell.Value = "" Then
filename = cell.Value
Set wbk = Workbooks.Open(filepathstr & filename, False)
''''**REFRESH**''''''
SAPBexrefresh (True)
Application.DisplayAlerts = False
For Each cell In Sheet1.Range("SavedNames")
If Not cell.Value = "" Then
name = cell.Value
wbk.SaveAs (name)
wbk.Close False
End If
Next cell
Application.DisplayAlerts = True
End If
Next cell
MsgBox "The Macro has finished; BW Reports are refreshed"
End Sub
しかしそれは既に使用中の制御変数のために」というエラーメッセージを思い付く私はSavedNamesのために再び「は、それぞれのセルに対して」メソッドを使用することができます範囲と思いました大変感謝しています!
SavedNamesをどこにでも宣言していませんか? – Niclas
また、ループ内で 'cell'を2回使用することはできません。おそらく、cell2 = cellのようなことをしてから、2番目のループでcell2を使いたいと思うでしょう。 'Option Explicit'を使います。 – Niclas
oops申し訳ありません。SavedNamesはカンマで区切ってください。今編集してください。大丈夫です。 –