例文を使って繰り返し業務を時短

【マクロ・VBA】指定するExcelファイルに保存する

エクセル、マクロ、VBAで指定するエクセルファイルに保存する VBA

指定するフォルダにExcelファイルに保存する方法

Sub SaveAsFolder()
    '保存するフォルダを指定する
    Dim FolderPath As String
    FolderPath = "C:\Users\username\Desktop\"
    
    '保存するファイル名を指定する
    Dim FileName As String
    FileName = "example.xlsx"
    
    '保存場所とファイル名を結合して、保存パスを作成する
    Dim SavePath As String
    SavePath = FolderPath & FileName
    
    '現在開いているブックを保存する
    ActiveWorkbook.SaveAs Filename:=SavePath
End Sub

説明

この例では、まず保存するフォルダをFolderPathに指定します。次に、保存するファイル名をFileNameに指定します。そして、FolderPathFileNameを結合して、保存パスをSavePathに作成します。最後に、ActiveWorkbook.SaveAsで現在開いているブックをSavePathに保存します。

この方法を使用すると、ファイル名や保存場所を変更する場合は、FileNameFolderPathを変更するだけで済みます。

サンプルコード

このコードは、Sheet1のA2からC列の最終行までのデータをクリップボードにコピーし、Book2.xlsxを開いて、コピーしたデータをBook2.xlsxのA2に貼り付け、Book2.xlsxを保存します。

ただし、このコードは、コピー元のエクセルファイルとBook2.xlsxが同じフォルダーに存在する場合にのみ正常に動作します。もし異なるフォルダに存在する場合、ファイルのパスを変更する必要があります。

また、このコードを実行する前に、作業中のエクセルファイルを保存することをお勧めします。なぜなら、このコードは、作業中のエクセルファイルを自動的に保存しないためです。

Sub 指定するエクセルファイルに保存()
   
    Dim LstRow As Long                      
    LstRow = Cells(Rows.Count, 1).End(xlUp).Row
    
    Worksheets("Sheet1").Range("A2:C" & LstRow).Copy      
   
    Workbooks.Open "C:\Users\user\Documents\Book2.xlsx"     
    
    Range("A2").PasteSpecial Paste:=xlPasteValues        
    
    ActiveWorkbook.Save 

MsgBox "完了"                      
End Sub

コメント

タイトルとURLをコピーしました