マイぴょん博士
サポートアンバサダー
カテゴリー
ヘルプ
解決済み
【Excel】VBAを利用したCSVのインポートとエクスポートについて💦
ExcelのVBAを利用したCSVのデータをエクスポート&インポートできるようにしたいです🙇
【プログラム】
自分の想像しているプログラムは次のような感じ🤔
「エクスポートの場合」
ActiveXコントロール コマンドボタンを押す
⇩
指定したシートのA2セルからB列のデータが最後にある行までを選択する
⇩
選択した行をCSVデータとして指定したフォルダに保存
「インポートの場合」
ActiveXコントロール コマンドボタンを押す
⇩
ファイルを選択するダイアログからCSVデータを選択
⇩
指定したシートのA2セルから順にデータを入れる
...という流れになりますm(_ _)m
◎分かるようでしたら、そのプログラムの内容がどんなものかも教えていただけると嬉しいです⸜( ˶'ᵕ'˶)⸝
不明点ありましたら詳しく説明させていただきますね👍
3 件の回答
ベストアンサー
ベストアンサー獲得数 265 件
わたしの検索が勘違いでなければ、Bingからの回答です?
エクスポート
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)
' CSVファイルとして保存
Dim filePath As String
filePath = "指定したフォルダのパス" ' 保存するフォルダのパスを設定
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
インポート
Private Sub CommandButton2_Click()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1") ' 対象のシート名を設定
' ファイル選択ダイアログを表示
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.Title = "CSVファイルを選択してください"
.Filters.Add "CSV", "*.csv", 1
If .Show = -1 Then
' CSVファイルを選択し、A2セルからデータを入力
Dim selectedFile As String
selectedFile = .SelectedItems(1)
With ws.QueryTables.Add(Connection:="TEXT;" & selectedFile, Destination:=ws.Range("A2"))
.TextFileParseType = xlDelimited
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFilePlatform = xlWindows
.Refresh
End With
End If
End With
End Sub
以下のリンクを参参照してください。
【Excel VBA入門】基本的なCSVファイルの読み込みと書き出し方法
https://valmore.work/vba-read-csv/
マクロ(Excel VBA)で CSV ファイルを開いてシートの中に取り込む方法
https://my-tax-nology.com/import-csv-data-to-excel-by-using-excel-vba
【Excel】VBAを利用したCSVのインポートとエクスポートについて
https://bing.com/search?q=Excel VBA 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)
' CSVファイルとして保存
Dim filePath As String
filePath = "指定したフォルダのパス" ' 保存するフォルダのパスを設定
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
インポート
Private Sub CommandButton2_Click()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1") ' 対象のシート名を設定
' ファイル選択ダイアログを表示
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.Title = "CSVファイルを選択してください"
.Filters.Add "CSV", "*.csv", 1
If .Show = -1 Then
' CSVファイルを選択し、A2セルからデータを入力
Dim selectedFile As String
selectedFile = .SelectedItems(1)
With ws.QueryTables.Add(Connection:="TEXT;" & selectedFile, Destination:=ws.Range("A2"))
.TextFileParseType = xlDelimited
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFilePlatform = xlWindows
.Refresh
End With
End If
End With
End Sub
以下のリンクを参参照してください。
【Excel VBA入門】基本的なCSVファイルの読み込みと書き出し方法
https://valmore.work/vba-read-csv/
マクロ(Excel VBA)で CSV ファイルを開いてシートの中に取り込む方法
https://my-tax-nology.com/import-csv-data-to-excel-by-using-excel-vba
【Excel】VBAを利用したCSVのインポートとエクスポートについて
https://bing.com/search?q=Excel VBA CSV データ エクスポート インポート 方法
この回答はベストアンサーに選ばれました。
- 2