• 締切済み

EXCEL2000 VBA CSVファイルの読み込み

エクセル2000です。 VBAでCSVファイルを読み込もうとしているのですが、CSVファイルの一部に改行コード[*]が入っています。 そのまま読み込んだ場合、エクセルの中では改行されません。CSVファイル(文字列)を精査していって、[*]があれば、VBでの改行コードChr(10)に変換する方法でいけるのでしょうか。 Workbooks.Open   Filename:="C:\temp\sample.csv" Range("A2:J901").Select このsample.csvの中身を変換したいのですが。 よろしくお願いします。

みんなの回答

noname#11856
noname#11856
回答No.3

#2です。。。ごめんなさい。(>_<) 全然意味のないモノになってます。申し訳ございません。 何を考えてるやら・・・>私。(涙) 頭冷やしてきます。。。(T-T)

noname#11856
noname#11856
回答No.2

Workbooks.Openではなく、読み込みながら処理をするほうがいいように思います。 Open関数でファイルを開き、Input等で読み込みます。 読み込んだ内容中に改行コード(*(アスタリスク)が入ってるんですか?)があれば置き換える。 例えば・・・ Dim intFno As Integer Dim strBuff As String Dim lngRow As Long intFno = FreeFile() Open ファイル名 For Input Access Read As intFno lngRow = 1 Do Until EOF(intFno) Line Input #intFno, strBuff Cells(lngRow, 1) = Replace(strBuff, "*", vbCrLf) lngRow = lngRow + 1 Loop Close intFno とか。 #検証してないというか、いきなりここで書いただけなので間違ってるかも知れないけど(^-^;、こんな感じで。。。

kyrie_esumi
質問者

お礼

あ、締め切ろうとした間にご回答いただき、ありがとうございました。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 Replace関数で出来ます。 詳細はヘルプなどを参照して下さい。

kyrie_esumi
質問者

補足

回答ありがとうございます。 SEARCH関数で値を探してそれをreplaceで変換させればいい理論はわかるのですが、ヘルプなど見ても、特定のセルを変換する方法は書いてありますがそれをファイル全体に行う記述が書いてない為に停止してます。

関連するQ&A