
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アスキー、バイナリーの違い、...
-
【VBA】テキストファイルを指定...
-
EXCELのVBAでEOFを誤認識
-
テキストファイルの最終行を消...
-
Excelにて、フォルダ内のTextフ...
-
VBAでテキストファイルを最後ま...
-
unixのシェルスクリプトで特定...
-
エクセルのプロパティーでセキ...
-
エクセルvbaでdocuworksprinter...
-
frxファイルの役目
-
Wordで差込印刷した後に別々の...
-
[エクセル]コピーするとオブジ...
-
ハイフネーションされている英...
-
xcopyでのバッチコピー方法でコ...
-
デスクトップの画像をhtmlに表...
-
ThisWorkbookがあるフォルダ更...
-
【VBA】ExcelマクロでCSVファイ...
-
Windows10でコマンドプロンプト...
-
ファイルサーバ上のファイルが...
-
エクセルのハイパーリンクがコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VBA】テキストファイルを指定...
-
同一フォルダにある複数のテキ...
-
EXCELのVBAでEOFを誤認識
-
アスキー、バイナリーの違い、...
-
uwscでExcelに自動記入
-
Excelにて、フォルダ内のTextフ...
-
ダイアログのタイトルを変更する
-
VBSを使用し、指定フォルダ内の...
-
テキストファイルの最終行を消...
-
unixのシェルスクリプトで特定...
-
VBscript
-
VBScript(vbs)での行の取得につ...
-
【VBA】テキストファイルの内容...
-
スペース区切りのテキストファ...
-
VBAでテキストファイルの件...
-
Java バブルソート
-
エクセル VBA テキストファイル...
-
複数ファイルから情報抽出
-
VBで複数のテキストを結合する...
-
VBAでテキストファイルを最後ま...
おすすめ情報
ありがとうございます。
そのファイルにはBOMがついてますか?
それともついていませんか?
回答⇒BOM無のファイルです
お忙しいところ対応していただきありがとうございます
確認したところ、やり方悪いのか
処理が終了しましたとメッセージ後
A列に表示してくれません(Excel2019使用)何度かトライしたのですがうまくいかな状況です
すみません
すみません
ご指摘の通りのファイルを表示させ実行し動作することを
確認いたしました
お手間を取らせてしまいすみませんでした
丁寧な対応
ありがとうございます