質問は以下
CSVファイルに以下の変更をする、マクロ付きのエクセルファイルを作成する方法を教えてください。
1.windowsのダイアログでファイルを選択します。
2.D列にある住所情報から、”東京都”,”足立区”,半角スペース,を取り除きます。
3.元のファイル名にyyyymmddの日付を後ろに付け足してファイル名として保存します
読み込むCSVファイルはこんなやつです↓↓
chatGPT
Bird
BingAI
copilot
それぞれの回答詳細
chatGPTの回答文
以下は、VBA(Visual Basic for Applications)を使用して、Excelで指定された変更を行い、マクロ付きのエクセルファイルを作成する基本的な手順です。以下のコードを使用してください。
- Excelを開き、Alt + F11を押してVisual Basic for Applicationsエディタを開きます。
- エディタで、Insert > Moduleを選択して新しいモジュールを追加します。
- 新しいモジュールに以下のVBAコードを貼り付けます。
vbaCopy code
Sub 変更を実行()
‘ 1. ファイルを選択
Dim filePath As String
Dim fileName As String
Dim newFileName As String
Dim currentDate As String
with Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Title = “ファイルを選択してください”
.Filters.Clear
.Filters.Add “CSV ファイル”, “*.csv”
If .Show = -1 Then
filePath = .SelectedItems(1)
fileName = Mid(filePath, InStrRev(filePath, “\”) + 1)
Else
MsgBox “キャンセルされました。”, vbExclamation
Exit Sub
End If
End With
‘ 2. 住所情報の変更
With Workbooks.Open(filePath)
Dim lastRow As Long
lastRow = .Sheets(1).Cells(.Sheets(1).Rows.Count, “D”).End(xlUp).Row
Dim i As Long
For i = 1 To lastRow
Dim address As String
address = .Sheets(1).Cells(i, “D”).Value
address = Replace(address, “東京都”, “”)
address = Replace(address, “足立区”, “”)
address = Replace(address, ” “, “”)
.Sheets(1).Cells(i, “D”).Value = address
Next i
‘ 3. ファイル名に日付を追加して保存
currentDate = Format(Date, “yyyymmdd”)
newFileName = Left(fileName, Len(fileName) – 4) & “_” & currentDate & “.csv”
.SaveAs ThisWorkbook.Path & “\” & newFileName, FileFormat:=xlCSV
.Close SaveChanges:=False
End With
MsgBox “変更が完了しました。”, vbInformation
End Sub
このVBAコードは、指定されたCSVファイルを開き、D列の住所情報から指定の文字列を取り除き、元のファイル名に現在の日付を追加して保存します。また、ファイルを選択するためのダイアログも表示されます。コード内のコメントも参考にしてください。
これを実行するには、Excelファイルでマクロを有効化しておく必要があります。また、セキュリティの設定によっては、マクロの実行が制限されることがあります。
google Bird の回答文
- 新しいExcelブックを作成します。
- ブックのシート1に、以下のコードを入力します。
VBA
Sub ファイル選択()
'ファイル選択ダイアログボックスを表示する
Dim ファイルダイアログ As FileDialog
Set ファイルダイアログ = Application.FileDialog(msoFileDialogOpen)
ファイルダイアログ.Title = "CSVファイルを選択してください"
ファイルダイアログ.Filters.Add "CSVファイル (*.csv)", "*.csv"
If ファイルダイアログ.Show = True Then
'選択したファイルのパス名を取得する
Dim パス名 As String
パス名 = ファイルダイアログ.SelectedItems(1)
'D列にある住所情報から、"東京都","足立区",半角スペース,を取り除く
Dim セル As Range
For Each セル In Worksheets(1).Range("D:D")
セル.Value = セル.Value.Replace("東京都", "")
セル.Value = セル.Value.Replace("足立区", "")
セル.Value = セル.Value.Replace(" ", "")
Next セル
'元のファイル名にyyyymmddの日付を後ろに付け足してファイル名として保存する
Dim 日付 As Date
日付 = Date
Dim 新しいファイル名 As String
新しいファイル名 = パス名.Replace(".csv", "_" & Format(日付, "yyyymmdd") & ".csv")
'ファイルを保存する
Worksheets(1).SaveAs 新しいファイル名
End If
End Sub
コードは慎重に使用してください。詳細content_copy
- ブックの保存ボタンをクリックします。
- ブックを起動して、ファイル選択マクロを実行します。
- CSVファイルを選択して、開くをクリックします。
- マクロが実行され、D列にある住所情報から、”東京都”,”足立区”,半角スペース,が取り除かれます。また、元のファイル名にyyyymmddの日付が後ろに付け足されて、新しいファイル名で保存されます。
説明
- ファイル選択ダイアログボックスを表示する
VBA
Sub ファイル選択()
'ファイル選択ダイアログボックスを表示する
Dim ファイルダイアログ As FileDialog
Set ファイルダイアログ = Application.FileDialog(msoFileDialogOpen)
ファイルダイアログ.Title = "CSVファイルを選択してください"
ファイルダイアログ.Filters.Add "CSVファイル (*.csv)", "*.csv"
コードは慎重に使用してください。詳細content_copy
このコードは、FileDialogオブジェクトを使用して、ファイル選択ダイアログボックスを表示します。Titleプロパティでダイアログボックスのタイトルを設定できます。Filtersプロパティで、表示するファイルの種類を設定できます。
- 選択したファイルのパス名を取得する
VBA
Dim パス名 As String
パス名 = ファイルダイアログ.SelectedItems(1)
コードは慎重に使用してください。詳細content_copy
このコードは、FileDialogオブジェクトのSelectedItemsプロパティを使用して、選択したファイルのパス名を取得します。
- D列にある住所情報から、”東京都”,”足立区”,半角スペース,を取り除く
VBA
Dim セル As Range
For Each セル In Worksheets(1).Range("D:D")
セル.Value = セル.Value.Replace("東京都", "")
セル.Value = セル.Value.Replace("足立区", "")
セル.Value = セル.Value.Replace(" ", "")
Next セル
コードは慎重に使用してください。詳細content_copy
このコードは、For Eachループを使用して、D列のすべてのセルを処理します。Replace関数を使用して、各セルの値から、”東京都”,”足立区”,半角スペース,を取り除きます。
- 元のファイル名にyyyymmddの日付を後ろに付け足してファイル名として保存する
VBA
Dim 日付 As Date
日付 = Date
Dim 新しいファイル名 As String
新しいファイル名 = パス名.Replace(".csv", "_" & Format(日付, "yyyymmdd") & ".csv")
'ファイルを保存する
Worksheets(1).SaveAs 新しいファイル名
コードは慎重に使用してください。詳細content_copy
このコードは、Date関数を使用して、現在の日付を取得します。Format関数を使用して、日付をyyyymmdd形式に変換します。Replace関数を使用して、元のファイル名から拡張子を削除します。
BingAIの回答
CSVファイルに以下の変更をする、マクロ付きのエクセルファイルを作成する方法を教えてください。
を検索しています
マクロ付きエクセルファイル 住所情報 東京都 足立区
を検索しています
回答を生成しています…
以下の手順で、マクロ付きのエクセルファイルを作成し、CSVファイルに変換することができます。
- 新しいエクセルファイルを開きます。
- 「ファイル」タブをクリックし、「名前を付けて保存」を選択します。
- 「保存場所」を指定し、「ファイルの種類」を「マクロ付きブック」に設定します。
- 「保存」をクリックします。
- 「開発」タブをクリックし、「Visual Basic」を選択します。
- 「挿入」タブをクリックし、「モジュール」を選択します。
- 以下のコードを入力します。
Sub CSV変換()
Dim strPath As String
Dim strFile As String
Dim strDate As String
Dim wb As Workbook
' ファイルを選択するダイアログを表示
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "CSV変換するファイルを選択してください"
.Filters.Clear
.Filters.Add "Excelファイル", "*.xlsx;*.xlsm;*.xls"
.AllowMultiSelect = False
If .Show = -1 Then
strPath = Left(.SelectedItems(1), InStrRev(.SelectedItems(1), "\"))
strFile = Mid(.SelectedItems(1), InStrRev(.SelectedItems(1), "\") + 1)
Else
Exit Sub
End If
End With
' 日付を取得
strDate = Format(Date, "yyyymmdd")
' ファイルを開く
Set wb = Workbooks.Open(strPath & strFile)
' 住所情報を修正
With wb.Sheets(1)
.Range("D:D").Replace What:="東京都 ", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Range("D:D").Replace What:="足立区 ", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Range("D:D").Replace What:=" ", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End With
' ファイルを保存
wb.SaveAs Filename:=strPath & Left(strFile, InStrRev(strFile, ".") - 1) & "_" & strDate & ".csv", FileFormat:=xlCSV, CreateBackup:=False
' ファイルを閉じる
wb.Close SaveChanges:=False
End Sub
- 「実行」をクリックします。
- 「ファイルを選択するダイアログ」が表示されるので、変換したいファイルを選択します。
- 住所情報が含まれる列を選択し、以下の操作を行います。
- 「東京都」を削除するには、列を選択し、[Ctrl]+[H]を押して、検索する文字列に「東京都 」を入力し、置換する文字列に何も入力せずに「すべて置換」をクリックします。
- 「足立区」を削除するには、列を選択し、[Ctrl]+[H]を押して、検索する文字列に「足立区 」を入力し、置換する文字列に何も入力せずに「すべて置換」をクリックします。
- 半角スペースを削除するには、列を選択し、[Ctrl]+[H]を押して、検索する文字列に「 」を入力し、置換する文字列に何も入力せずに「すべて置換」を
Copilot (BingAIを使用だそうです2023/12/31)
CSVファイルに以下の変更をする、マクロ付きのエクセルファイルを作成する方法
を検索しています
回答を生成しています…
CSVファイルに以下の変更をする、マクロ付きのエクセルファイルを作成する方法については、以下のウェブサイトが参考になるかもしれません。
- VBAでExcelシートのデータをCSV出力する方法|サンプルコード付きで解説:このサイトでは、VBAでExcelシートのデータをCSVファイルに自動出力する方法を、実際のコードを用いて丁寧に解説しています。CSVの出力自体はExcelの機能でもできますが、他の作業と一緒にマクロで自動化したいときに便利です。
- 【EXCEL:VBA】入力したデータをCSVファイル形式で出力したい:このサイトでは、入力したデータをCSVファイル形式で出力する方法を、ステップバイステップで説明しています。CSVファイルのファイル名を都度選択するようにする方法も紹介されています。
- 【VBA】csvファイルを開く⇒編集⇒保存⇒閉じる!一連の流れを …:このサイトでは、既存のCSVファイルをVBAで開いて編集して保存する方法を、コードの解説とともに示しています。CSVファイルのパスやファイル名を指定する方法もわかりやすく説明されています。
- 【超簡単】ワンタッチでエクセルからCSV出力するVBAプログラム:このサイトでは、ワンタッチでエクセルからCSV出力するVBAプログラムを紹介しています。シート名や区切り文字を指定する方法もあります。
以上のサイトを参考にして、ご自身の目的に合ったマクロ付きのエクセルファイルを作成してみてください。もし、もっと詳しい情報が必要な場合は、Bingで検索してみてください。Bingはあなたの質問に答えるのを助けるために常に学習しています。👍
コメント