電子書籍の厳選無料作品が豊富!

ExcelにてCSVファイルを読んで処理をしたい。

ただし、CSVファイルをExcelでopenすると遅いので、
VBAにてファイルとして読み込みで処理をしたいのですが、
皆さんは、どのように行っていますか?

※CSVファイルは、テキスト区切り→"(ダブルコーテーション)です
 テキスト区切り無しであれば、1行読んで、カンマをsplitすれば良いと思いますが。。。。

A 回答 (3件)

例)"ABC,DEF""GHIJ"の場合、ABC,DEF"GHIJを出力したい


これは無理かと?、ABC,DEF GHIJ のようなら出来るかも。

ところで、"ABC,DEF""GHIJ" のようになっているとしたら
カンマ区切りでは無くて、タブ区切りのファイルになっているとかではありませんか?

もう少し、本番データに近い感じで例示されると回答も楽です (^^ゞ
その際に取得したいデータの形の表現として
[ABC,DEF][GHIJ]
[] がセルを表現してます。
ですと、こちらも分かりやすいです。
    • good
    • 0
この回答へのお礼

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

無理ですか?何度もありががとうございました

ちなみに、ABC,DEF"GHIJをExcelのセルに入力して、
CSVにて保存すると、"ABC,DEF""GHIJ"としてファイルに出力されます

お礼日時:2012/02/14 12:07

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

かな?

この回答への補足

nicotinismさん コメントあがとうごいます

データの中にカンマやダブルコーテーションがある場合、うまくいきません

例)"ABC,DEF""GHIJ"の場合、ABC,DEF"GHIJを出力したい

補足日時:2012/02/13 08:31
    • good
    • 0

こんなのとか。


ADODBでCSVファイル読み込み@Excel マクロ・VBA
http://www.cocoaliz.com/excelVBA/index/35/
    • good
    • 0
この回答へのお礼

ANo.1さん

コメントありがとうございます

お礼日時:2012/02/13 08:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!