No.1ベストアンサー
- 回答日時:
コンマで区切られてないのにCSV…。
と言う突っ込みは置いておいて、区切り位置を指定しているということは固定長フィールドですよね。
とりあえずその作業をマクロで記録したら、以下のようになったので、これを手直しして個人用マクロブック(PERSONAL.XLS)の標準モジュールに入れておけばいかがでしょうか。
<注意点>
ファイル名は test.csv、シート名は test と固定されているので、適切な物に変えてください。(3行目、5行目)
毎回ファイル名が変わるのであれば、ファイル選択のダイアログを出すように処理を追加するので、補足をお願いします。
フォーマット指定ですが、最後の
.TextFileColumnDataTypes = Array(1, 1, 1, 1)
.TextFileFixedColumnWidths = Array(4, 2, 2)
の部分で、1行目をフィールドの数だけ1を並べてください。(表示形式が標準の場合。文字列の場合は2、それ以外(日付、スキップ)の場合はちょっとややこしいので、日付が入る場合はどのような形式で入るのか、また補足してください。
上記の2行目が各列に取り込むフィールドの長さを指定していて、上記の場合は4列(A~D列)取り込んで、最初の3つのフィールド長がそれぞれ4,2,2という意味なので、これもファイルのフォーマットにあわせて修正してください。
Sub 外部ファイル取り込み()
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;test.csv", Destination:= _
Range("A1"))
.Name = "test"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1)
.TextFileFixedColumnWidths = Array(4, 2, 2)
.Refresh BackgroundQuery:=False
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Java javaのCSVデータ読込についてです 6 2022/07/02 10:58
- Excel(エクセル) Excel 区切り位置指定ウィザードの選択データプレビューで全列を指定する方法 お世話になります。E 1 2023/01/17 16:36
- Excel(エクセル) VBA : スクレイピングできない 4 2023/05/12 22:26
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- CAD・DTP JWW-CADでDXF変換後の線が連動して消える 2 2023/01/13 11:09
- Excel(エクセル) Excelについて教えてください。 帳票データがあります。 アクセスに取り込むため、 データ形式にし 1 2022/06/08 19:59
- その他(パソコン・スマホ・電化製品) CMD等でPC操作(excel開く等)を自動化させたい 1 2023/03/15 09:53
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Excel(エクセル) VBAで複数のExcelを1つのExcelにまとめる 1 2022/09/04 11:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
差込印刷での全角表示について...
-
クエリで割り算する方法を教え...
-
ACCESSのデータに自動で半角ス...
-
エクセルにおける「フィールド...
-
フィールドの更新がない
-
ACCESSで条件によってフォーム...
-
クエリーで、全角混じりデータ...
-
ACCESS 重複データを1...
-
エクセルデータをワードで差し...
-
実行時エラー '3464': 抽出条件...
-
アクセスでのテキストデータ取...
-
Acsess アクセス のクエリで...
-
Accessのハイパーリンクをクリ...
-
Access2000のクエリでクラスご...
-
アクセスの操作について
-
英数字のチェックをしたい ACC...
-
csvファイルのインポート
-
varchar型の入力できる最大文字...
-
ワードファイルの文字数制限ロ...
-
ACCESSでフィールド名の変更(...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
差込印刷での全角表示について...
-
エクセルにおける「フィールド...
-
エクセルデータをワードで差し...
-
ACCESS 重複データを1...
-
フィールドの更新がない
-
クエリで割り算する方法を教え...
-
ACCESSのデータに自動で半角ス...
-
Word差し込み印刷のハイフン(...
-
Accessのハイパーリンクをクリ...
-
Acsess アクセス のクエリで...
-
アクセスのクエリでパラメータ...
-
ACCESSでフィールド名の変更(...
-
ACCESSで条件によってフォーム...
-
実行時エラー '3464': 抽出条件...
-
列を移動させるvbaコードを教え...
-
クエリーで、全角混じりデータ...
-
レコードの内容にハイフンをつ...
-
sqlserverにはグループ集計のfi...
-
Accessフィールド分割
-
ACCESSでフィールドに-(ハイフ...
おすすめ情報