
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
アドバイスをいただけると助かります。
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>これらは拡張子が無いファイルですが、メモ帳で開くことができます。
Workbooks.Open で開いても、エクセルファイルではないので、提示されたプログラムでは処理できません。
もちろん、セルもありませんから記入する事もできないはずですが?
一度、エクセルファイルをメモ帳で開いて見てください。
ヘッダーを入れて何をしたいのか解りませんが、テキストファイルを扱うプログラムにしないと無理だと思いますが?
http://officetanaka.net/excel/vba/file/file08.htm
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub0 …
この回答への補足
hana-hana3、教えていただいたURLを拝見させていただきました。
アドバイスありがとうございます。
>Workbooks.Open で開いても、エクセルファイルではないので、
>提示されたプログラムでは処理できません。
⇒処理ができないことは知りませんでした。
Excelファイルであれば処理はできるのでしょうか。
0001tokyou.xls、0002tokyou.xls・・・1000tokyou.xls・・・(数字4桁は固定+tokyou.xls)というファイルに変更できます。
可能であれば、プログラムで示していただけると助かります。
>もちろん、セルもありませんから記入する事もできないはずですが?
>一度、エクセルファイルをメモ帳で開いて見てください。
⇒Excelファイルをメモ帳で開くと文字化けしてます。
拡張子がない今回のファイル(0001tokyou、0002tokyou・・・1000tokyou・・・(数字4桁は固定+tokyou)というファイル)を、Excelで開くと、セルに格納されております。
>ヘッダーを入れて何をしたいのか解りませんが、テキストファイルを
>扱うプログラムにしないと無理だと思いますが?
⇒ヘッダーを入れる目的は、業務上必要な処理です。
自力で色々試しておりますが、アドバイスをいただけると助かります。
No.1
- 回答日時:
よく解りませんが、この操作は、手動でも
簡単に出来ることなのでしょうか???
もし、できるなら、自動マクロを利用したほうが
手っ取り早いです。
出来たマクロを参考に、改良すれば
良いかもしれません。
この回答への補足
tom11さん、ご意見ありがとうございます。
>よく解りませんが、この操作は、手動でも
>簡単に出来ることなのでしょうか???
⇒Excelのマクロ以外の方法でなら、手動でいくらか簡単に出来ます。
もし、できるなら、自動マクロを利用したほうが
手っ取り早いです。
出来たマクロを参考に、改良すれば
良いかもしれません。
⇒Excelのマクロ以外の方法なので、マクロの記録で参照することはできません。
プログラミングを組むことで、僕以外の同僚が、この処理をできるようにすることが目的です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/09 10:33
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel: ファイル名になぜ、[...
-
CSVファイルの特定行の削除
-
エクセルのファイル:「自分」が...
-
複数のExcelファイルにある同名...
-
彼女の過去の恋愛に嫉妬してし...
-
docxをmht形式で保存したファイ...
-
エクセルの拡張子XLSのファイル...
-
batでファイル名を変更したい(...
-
vbsからのExcelマクロ呼び出し...
-
iCloud for Windowsをアンイン...
-
このファイルは外部のエディタ...
-
WINDOWS CMDからゴミ箱のファ...
-
ファイルが移動してもリンクの...
-
フォルダ内の複数のファイルの...
-
EXCELVBAにて文字列にして「01...
-
CSVファイルの暗号化
-
VBAにおいて、ファイルの移...
-
VBA ファイル一覧を取得して全...
-
5000個のtiffファイルをpdfへ変...
-
Googleドライブについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSVファイルの特定行の削除
-
彼女の過去の恋愛に嫉妬してし...
-
Excel: ファイル名になぜ、[...
-
エクセルのファイル:「自分」が...
-
ファイルが移動してもリンクの...
-
iCloud for Windowsをアンイン...
-
EXCELVBAにて文字列にして「01...
-
WINDOWS CMDからゴミ箱のファ...
-
vbsからのExcelマクロ呼び出し...
-
[Unity]シーンファイルの中が消...
-
5000個のtiffファイルをpdfへ変...
-
複数のExcelファイルにある同名...
-
このファイルは外部のエディタ...
-
batでファイル名を変更したい(...
-
フォルダ内の複数のファイルの...
-
docxをmht形式で保存したファイ...
-
FTPのgetとputの使いわけ。
-
Googleドライブについて
-
VBA ファイル一覧を取得して全...
-
エクセル保存終了で一時ファイ...
おすすめ情報