前提・実現したいこと
エクセルから特定ファイルを開き、ファイル内のドキュメント(.txt)のデータを選択し
エクセルに移したい。
詳細
移す元データ(.txt)がシステムの仕様上、「”○○”,”○○”」の形になっている。
そのデータを”区切りでエクセルセルに移したい。
発生している問題・エラーメッセージ
大方、現状組んでいるVBAで上手くいっているが
金額情報だけが「"○,○○○","○,○○○"」と表記されているので
移したエクセルの順番が、「○,○○○」としたいのに、「○」「○○○」とおかしくなります。
区切り文字を「,」にしているのが原因だと思い「”」にしたりなどしたが型が合わず断念。
該当のソースコード
Sub テキスト読み込み()
Dim txtName As String txtName = Application.GetOpenFilename("テキストファイル,*.txt") If txtName <> "False" Then Open txtName For Input As #1 End If Dim r As Long r = 1 '1行目から書き出す Do Until EOF(1) Dim buf As String Line Input #1, buf Dim aryLine As Variant '文字列格納用配列変数 aryLine = Split(buf, ", ") '読み込んだ行をクオンテーション区切りで配列変数に格納 Dim i As Long For i = LBound(aryLine) To UBound(aryLine) 'インデックスが0から始まるので列番号に合わせるため+1 Cells(r, i + 1) = aryLine(i) Next r = r + 1 Loop Close #1 '余分なクオンテーションを削除 Cells.Select Selection.Replace What:="""", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False MsgBox "終了しました。"
End Sub
試したこと
カンマ区切りがいけないのかと思い区切り文字をクオンテーション等色々変更してみましたが
上手くいきませんでした。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/22 06:50
退会済みユーザー
2021/01/22 06:56
退会済みユーザー
2021/01/22 07:11
2021/01/22 08:36