
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
差込印刷での全角表示について...
-
ファイルメーカーのCase関数で
-
エクセルデータをワードで差し...
-
ACCESSでの文字数カウント
-
Accessのハイパーリンクをクリ...
-
ACCESSでフィールド名の変更(...
-
ACCESSのデータに自動で半角ス...
-
Acsess アクセス のクエリで...
-
ACCESSで条件によってフォーム...
-
sqlserverにはグループ集計のfi...
-
Word差し込み印刷のハイフン(...
-
エクセルにおける「フィールド...
-
フィールドの更新がない
-
ACCESS 重複データを1...
-
Access 複数のフィールドの平均...
-
WORD2003でドロップダウン...
-
CSVファイル読み込みでズレがお...
-
クエリで割り算する方法を教え...
-
Accessのデータをテキストファ...
-
ワードファイルの文字数制限ロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
差込印刷での全角表示について...
-
ACCESSでの文字数カウント
-
ファイルメーカーのCase関数で
-
エクセルデータをワードで差し...
-
Accessのハイパーリンクをクリ...
-
エクセルにおける「フィールド...
-
フィールドの更新がない
-
クエリで割り算する方法を教え...
-
ACCESS 重複データを1...
-
Acsess アクセス のクエリで...
-
ACCESSのデータに自動で半角ス...
-
Word差し込み印刷のハイフン(...
-
ACCESSで条件によってフォーム...
-
sqlserverにはグループ集計のfi...
-
クエリーで、全角混じりデータ...
-
「Access2007」でレポートが作...
-
実行時エラー '3464': 抽出条件...
-
アクセスの操作について
-
access2007のフォームウィザー...
-
Access クエリの編集について
おすすめ情報