• ベストアンサー

Excel VBAにてCSVファイルを読みたい

ExcelにてCSVファイルを読んで処理をしたい。 ただし、CSVファイルをExcelでopenすると遅いので、 VBAにてファイルとして読み込みで処理をしたいのですが、 皆さんは、どのように行っていますか? ※CSVファイルは、テキスト区切り→"(ダブルコーテーション)です  テキスト区切り無しであれば、1行読んで、カンマをsplitすれば良いと思いますが。。。。

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.3

例)"ABC,DEF""GHIJ"の場合、ABC,DEF"GHIJを出力したい これは無理かと?、ABC,DEF GHIJ のようなら出来るかも。 ところで、"ABC,DEF""GHIJ" のようになっているとしたら カンマ区切りでは無くて、タブ区切りのファイルになっているとかではありませんか? もう少し、本番データに近い感じで例示されると回答も楽です (^^ゞ その際に取得したいデータの形の表現として [ABC,DEF][GHIJ] [] がセルを表現してます。 ですと、こちらも分かりやすいです。

Koba5
質問者

お礼

nicotinismさん コメントありがとうございます 無理ですか?何度もありががとうございました ちなみに、ABC,DEF"GHIJをExcelのセルに入力して、 CSVにて保存すると、"ABC,DEF""GHIJ"としてファイルに出力されます

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

Sub test() 'sample.csv の中味は、 Rem "ss",12,"dd" Rem "tt",34,"yy" Dim ff As Integer Dim str1 As Variant ff = FreeFile Open "e:\sample.csv" For Input As #ff Do Until EOF(ff)   Line Input #ff, str1   Debug.Print str1, Replace(Split(str1, ",")(0), Chr(34), "") Loop Close #ff End Sub かな?

Koba5
質問者

補足

nicotinismさん コメントあがとうごいます データの中にカンマやダブルコーテーションがある場合、うまくいきません 例)"ABC,DEF""GHIJ"の場合、ABC,DEF"GHIJを出力したい

すると、全ての回答が全文表示されます。
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

こんなのとか。 ADODBでCSVファイル読み込み@Excel マクロ・VBA http://www.cocoaliz.com/excelVBA/index/35/

Koba5
質問者

お礼

ANo.1さん コメントありがとうございます

すると、全ての回答が全文表示されます。

関連するQ&A

印刷できない
このQ&Aのポイント
  • スマホから印刷する際、データはプリンタが受信しているが、紙には何も印刷されず排出されるトラブルが発生しています。
  • 使用している環境はiOSで、接続は無線LANです。
  • 関連するソフトやアプリは特にありません。
回答を見る

専門家に質問してみよう