Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまいます
どなたかご教授願います。また、別コードありましたら教えてください
お願い致します。ファイルは、UTF-8表示です
下記コード使用
Sub Txt統合()
' マージするテキストファイルを集めたフォルダーを指定
Dim FileFolder As String
FileFolder = ThisWorkbook.Path & "\txt"
' そのフォルダー内のテキストファイルの名前を取得
Dim FileName As String
FileName = Dir(FileFolder & "*.txt ")
Dim FilePath As String
FilePath = FileFolder & "\" & FileName
Dim Buffer As String '一時的に文字列を格納する
Dim A As Variant '文字列格納用配列
ReDim B(99, 99) '文字列格納用配列
Dim i As Long
i = 0
Dim j As Long
j = 0
'使用可能なファイル番号を取得
Dim FileNumber As Long
FileNumber = FreeFile
'フォルダ内のすべてのテキストファイルを処理する
Do Until FileName = ""
Open FilePath For Input As #FileNumber
Debug.Print FileName
Do While Not EOF(FileNumber)
Line Input #FileNumber, Buffer
Debug.Print Buffer
A = Split(Buffer, vbTab)
For j = 0 To UBound(A)
B(i, j) = A(j)
Next j
Loop
Close #FileNumber
FileName = Dir()
i = i + 1
Loop
Range("A1").Resize(100, 100) = B
MsgBox "処理が終了しました。", vbInformation
End Sub
No.3ベストアンサー
- 回答日時:
UTF-8用に修正しました。
(i=i+1の位置がおかしいところ等も修正してます。)
UTF-8(BOM無)で確認しました。
このサイトに投稿するとエラーになるので、下記にアップしました。
https://ideone.com/YFZQ7u
No.4
- 回答日時:
こちらで確認したデータです。
以下の内容のファイル(文字コード:UTF8)を1つ作成しまsました。
漢字データ11<tab>漢字データ12<tab>漢字データ13<改行>
漢字データ21<tab>漢字データ22<tab>漢字データ23<改行>
漢字データ31<tab>漢字データ32<tab>漢字データ33<改行>
注意:
<tab>:タブ
<改行>:改行コード
の意味です。
添付図のような結果になりました。
あなたのファイルは、タブで区切られていますでしょうか。
ファイルの内容はどのようになっていて、どのようにシートに表示されたのでしょうか。
(設定対象のシートはアクティブシートなので、そのシートを表示した状態でマクロを実行してください)
No.2
- 回答日時:
そのファイルにはBOMがついてますか?
それともついていませんか?
UTF-8の場合、BOMの有無により読み込み方法が異なります。
添付図はUTF-8のファイルをメモ帳(windows10のメモ帳)で読み込んだ倍です。上の図がBOMつきの場合、下の図がBOMなしの場合です。
まず、BOMの有無について確認してください。
BOMの有無により、対応が異なります。
BOMについては下記が参考になるかと。
https://at.sachi-web.com/blog-entry-1080.html
No.1
- 回答日時:
おはようございます!
検索した記事ですが、下記が参考になるでしょうか?
文字化けよさようなら!エクセルVBAでUTF-8のCSVを読み込む方法
https://tonari-it.com/vba-csv-utf8/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/09 10:33
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
複数のテキストファイルをexcelでそれぞれ別シートに書き出したい
Excel(エクセル)
-
複数のテキストファイルを一括でエクセルに取り込みたい。
Excel(エクセル)
-
マクロを使ってフォルダー内にあるtxtデータをエクセルにデータに変換する方法をご教授願います
Excel(エクセル)
-
-
4
EXCEL VBAでテキストファイルの特定の場所にデータを書き込む方法
Visual Basic(VBA)
-
5
同一フォルダにある複数のテキストファイル(メモ帳)を一括でエクセルに取り込みたいです。
Visual Basic(VBA)
-
6
VBAでテキストファイルを複数開いて順番に処理する方法がわからないです。
Visual Basic(VBA)
-
7
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
8
【VBA】テキストファイルから特定の文字列を抽出して、エクセルに出力する
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VBA】テキストファイルを指定...
-
Excelにて、フォルダ内のTextフ...
-
同一フォルダにある複数のテキ...
-
EXCELのVBAでEOFを誤認識
-
VBでのテキストファイルへ参照...
-
VBScript(vbs)での行の取得につ...
-
VBAでテキストファイルを最後ま...
-
複数のテキストファイル内の複...
-
アスキー、バイナリーの違い、...
-
ファイルのアクセス回数について
-
エクセルのプロパティーでセキ...
-
エクセルvbaでdocuworksprinter...
-
エクセルで複数のコメントのサ...
-
バッチファイル 二つ上のディ...
-
カンマ区切りのCSVファイルから...
-
エクセルのハイパーリンクがコ...
-
csvファイル 項目数取得
-
VBA 最新のフォルダ取得
-
ファイル名と同名のフォルダを...
-
バッチファイルのコピーで
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VBA】テキストファイルを指定...
-
EXCELのVBAでEOFを誤認識
-
同一フォルダにある複数のテキ...
-
アスキー、バイナリーの違い、...
-
複数のテキストファイル内の複...
-
スペース区切りのテキストファ...
-
Excelにて、フォルダ内のTextフ...
-
テキストファイルの最終行を消...
-
uwscでExcelに自動記入
-
VBAでテキストファイルを最後ま...
-
VBScript(vbs)での行の取得につ...
-
複数ファイルから情報抽出
-
vbaでテキストファイル(*.txt...
-
テキストファイルの改行コード...
-
VBで複数のテキストを結合する...
-
unixのシェルスクリプトで特定...
-
VBAで特定のパス(フォルダ)内...
-
VBでファイルの判定
-
VBでのテキストファイルへ参照...
-
句点で改行
おすすめ情報
ありがとうございます。
そのファイルにはBOMがついてますか?
それともついていませんか?
回答⇒BOM無のファイルです
お忙しいところ対応していただきありがとうございます
確認したところ、やり方悪いのか
処理が終了しましたとメッセージ後
A列に表示してくれません(Excel2019使用)何度かトライしたのですがうまくいかな状況です
すみません
すみません
ご指摘の通りのファイルを表示させ実行し動作することを
確認いたしました
お手間を取らせてしまいすみませんでした
丁寧な対応
ありがとうございます