- 締切済み
EXCEL2000 VBA CSVファイルの読み込み
エクセル2000です。 VBAでCSVファイルを読み込もうとしているのですが、CSVファイルの一部に改行コード[*]が入っています。 そのまま読み込んだ場合、エクセルの中では改行されません。CSVファイル(文字列)を精査していって、[*]があれば、VBでの改行コードChr(10)に変換する方法でいけるのでしょうか。 Workbooks.Open Filename:="C:\temp\sample.csv" Range("A2:J901").Select このsample.csvの中身を変換したいのですが。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
#2です。。。ごめんなさい。(>_<) 全然意味のないモノになってます。申し訳ございません。 何を考えてるやら・・・>私。(涙) 頭冷やしてきます。。。(T-T)
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 とか。 #検証してないというか、いきなりここで書いただけなので間違ってるかも知れないけど(^-^;、こんな感じで。。。
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 Replace関数で出来ます。 詳細はヘルプなどを参照して下さい。
補足
回答ありがとうございます。 SEARCH関数で値を探してそれをreplaceで変換させればいい理論はわかるのですが、ヘルプなど見ても、特定のセルを変換する方法は書いてありますがそれをファイル全体に行う記述が書いてない為に停止してます。
お礼
あ、締め切ろうとした間にご回答いただき、ありがとうございました。