【Excel VBA】ファイルにヘッダーを挿入
Excel VBAが初心者です、よろしくお願いします。
仕事で必要なため本を読みながら挑戦しております。
アドバイスをいただけると助かります。
【実現したいこと】
あるフォルダ内に格納された多くのファイルに、ヘッダーを挿入します。ヘッダー挿入後のファイルは、新ファイルで保存をします。
詳細は下記のとおりです。また、作りかけのプログラムも以下のとおりです。
【詳細】
・あるフォルダ:0001tokyou、0002tokyou・・・1000tokyou・・・(数字4桁は固定+tokyou)というファイルが格納されております。ファイル数はそのときによって異なります。これらは拡張子が無いファイルですが、メモ帳で開くことができます。VBAではフォルダを選択できることとします。
・ヘッダー:ヘッダーは1種類ですが、項目は10個あります。
・新ファイル保存:ヘッダー挿入前のファイル「0001tokyou」にヘッダーを挿入したら、「0001kantou」という新しいファイルで保存します。従って、0001tokyouファイルは存在したままです。
【作りかけのプログラム】
Sub ヘッダ挿入と別名保存()
Dim myFile As String
Dim mydata As String
Dim myArray() As String
Dim fileName As String
Dim folderName As String
Dim i, j As Integer
Dim header As Variant
header = Array("氏名", "性別", "年齢", "生年月日", "住所", "マンション名", "備考1", "備考2", "備考3", "備考4")
'挿入するヘッダーを定義する。
If Application.FileDialog(msoFileDialogFolderPicker).Show Then
folderName = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
End If
'加工するファイルが格納されているフォルダを指定する。
If folderName = "" Then
MsgBox "フォルダが指定されませんでした。処理を終了します。", vbOKOnly
Exit Sub
End If
'加工するファイルが格納されているフォルダが指定されなかった場合の処理です。
fileName = Dir(folderName & "\*")
Do While fileName <> ""
myFile =
Workbooks.Open fileName:=folderName & "\" & fileName
For i = 0 To 8 'ヘッダーを新ファイルに挿入する。
Cells(1, i + 1).Value = header(i + 1)
Next i
fileName = Dir()
Loop
End Sub
アドバイスをいただけると助かります。
よろしくお願いします。
お礼
koko88okok様 「スナップショットツール」!? 知りませんでした・・・。 すみません、勉強不足ですね。 元の画像が良くないせいか、コピーした画像は、あまり鮮明ではありませんでしたが、 大変勉強になりました。 大変ご丁寧な、ご説明、とても分かりやすかったです。 有難うございました。