
困っています。ビジュアルベーシック初心者です。
次のようなcsvデータがあります。
「あいうえお,,かきく,,1あ2い3う,,12.3,,45.6,,78.9
あいうえお,,かきく,,1あ2い3う,,12.3,,45.6,,78.9
あいうえお,,かきく,,1あ2い3う,,12.3,,45.6,,78.9」
※あいう等はテキスト、123等は数値(小数)
これをエクセルに表示するため、
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & (ファイル名), Destination:=Range("B3"))
.TextFileCommaDelimiter =True
.Refresh BackgroundQuery =False
End With
とプログラムしました。
ところが、エクセルをみると全てのデータの間に1マスづつ余計なセル(空白)が入ります。
空白が入らない取り込み方はあるでしょうか?
なお、一度別な場所に取り込み必要なセルだけ転記するというのは避けたいです。
アドバイスを宜しくお願いします。
No.3ベストアンサー
- 回答日時:
TextFileColumnDataTypes プロパティを使って、取り込みをスキップするセルを指定できます。
例:
With ActiveSheet.QueryTables.Add(Connection:="TEXT;C:\temp\data.csv", Destination:=Range("B3"))
.TextFileCommaDelimiter = True
.TextFilePlatform = 932
.TextFileColumnDataTypes = Array(xlTextFormat, xlSkipColumn, xlTextFormat, xlSkipColumn, xlTextFormat, xlSkipColumn, xlGeneralFormat)
.Refresh BackgroundQuery:=False
End With
No.2
- 回答日時:
> 一度別な場所に取り込み必要なセルだけ転記するというのは避けたいです。
> 意図的に空白のセルを入れたい部分もあります。
取り込み後、不要な列を削除すればいいのでは?
この回答への補足
取り込まれる側のエクセルシートには既に色々なデータが入っているため、列の削除等の加工は避けたいです。
わがままな内容で申し訳ないです。
No.1
- 回答日時:
CSVを正しく解釈した結果の動作だと思います。
CSVの区切り文字はカンマ1個で2個続けた場合その列は未定義(NULL)を表します。
ご提示のCSVファイルは必ずカンマが2個入ってますが「未定義」の場合は列を無視したいのでしょうか?
この回答への補足
おっしゃる通りです。なお、希望する結果は(B3)のセルからスタートし、
1行目 |あいうえお|かきく|1あ2い3う|12.3|(空白)|45.6|(空白)|78.9|(空白)|
2行目 |あいうえお|かきく|1あ2い3う|12.3|(空白)|45.6|(空白)|78.9|(空白)|
3行目 |あいうえお|かきく|1あ2い3う|12.3|(空白)|45.6|(空白)|78.9|(空白)|
というように、意図的に空白のセルを入れたい部分もあります。
可能でしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Visual Basic(VBA) VBA 毎日取得するデータを順番に反映していく方法 6 2023/08/26 16:22
- Excel(エクセル) Excelで、別シートの表のステータスに伴った動的な自動転記をしたいです。 2 2023/06/14 15:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
Excel > ピボットテーブル「(空...
-
エクセルでCSVを編集するとき、...
-
エクセル 連番が途切れていると...
-
Excel:関数が入っているセルに...
-
Excelで、入力文字の後に自動で...
-
「データ要素を線で結ぶ」がチ...
-
ピボットテーブルで空白セルの...
-
エクセル 平均値の出し方
-
エクセル セルのコピー元が空...
-
形式貼り付けの「空白を無視す...
-
数式による空白を無視して最終...
-
エクセルで空白セルを計算させない
-
VBA スペースが入力されて...
-
エクセルで、「複数のセルの中...
-
【Excel】 csvの作成時、空白セ...
-
空白セルにハイフンを表示
-
エクセルで上の行の値を自動的...
-
エクセルのIF関数で、隣のセル...
-
エクセルで、合計をもとめたい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
エクセルでCSVを編集するとき、...
-
Excel > ピボットテーブル「(空...
-
Excelで、入力文字の後に自動で...
-
Excel:関数が入っているセルに...
-
「データ要素を線で結ぶ」がチ...
-
数式による空白を無視して最終...
-
エクセル 連番が途切れていると...
-
エクセルのIF関数で、隣のセル...
-
excel2010 空白セルにのみ貼り...
-
ピボットテーブルで空白セルの...
-
空白セル内の数式を残したまま...
-
関数TRANSPOSEで空白セルを0に...
-
形式貼り付けの「空白を無視す...
-
【Excel】 csvの作成時、空白セ...
-
色つき行の一括削除は?
-
エクセルで、「複数のセルの中...
-
【Excel】 Ctrl+方向キー で空...
-
エクセルで上の行の値を自動的...
-
エクセルのグラフで式や文字列...
おすすめ情報