Q&A
解決済み

【Excel】VBAを利用したCSVのインポートとエクスポートについて💦

Yurane
Yuraneさん
レギュラー

公坊さんのコメント
公坊
公坊さん
Gマスター

medal ベストアンサー獲得数 260 件

>>3 Yuraneさん

それは可能です。Excel VBAでCSVファイルを保存する際に、シートの特定のセルに記載されたテキストをファイル名として使用することができます。以下のコードは、シート1のE11セルに書かれたテキストをファイル名としてCSVを保存する方法を示しています。
Private Sub CommandButton1_Click()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1") ' 対象のシート名を設定
Dim lastRow As Long
lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row ' B列で最後の行を取得

' A2セルからB列の最後のデータまでを選択
Dim rng As Range
Set rng = ws.Range("A2:B" & lastRow)

' シート1のE11セルに書かれたテキストをファイル名として使用
Dim fileName As String
fileName = ws.Range("E11").Value & ".csv"

' CSVファイルとして保存
Dim filePath As String
filePath = "指定したフォルダのパス\" & fileName ' 保存するフォルダのパスとファイル名を設定
rng.Copy

Dim newWb As Workbook
Set newWb = Workbooks.Add
With newWb
.Sheets(1).Cells(1, 1).PasteSpecial Paste:=xlPasteValues
.SaveAs Filename:=filePath, FileFormat:=xlCSV
.Close False
End With
End Sub

このコードは、ユーザーがActiveXコントロールのコマンドボタンをクリックすると、指定された範囲のデータを新しいワークブックにコピーし、シート1のE11セルに記載されたテキストをファイル名としてCSVファイルを保存します。ファイルパスは環境に合わせて適切に設定してください。

とのことです!
  • 4