| 
    
     |  | ▼たつのこ さん: こんにちは〜
 
 こういうのは、[データ]-[外部データの取り込み]-
 [テキストファイルのインポート]メニュ−を使って指定のシートに
 インポートされることをお勧めします。
 ht tp://office.microsoft.com/ja-jp/excel/HP101022441041.aspx
 
 
 以下は、あるCSVファイルをActiveSheetにインポートしたときの記録です。
 (すこし編集してあります)
 
 >  Worksheets("download.csv").Activate
 >  Worksheets("download.csv").Columns("A:AX").NumberFormat = "@"
 のあとに、以下のようなマクロ記録を適当に編集したものを書いておけば、
 ""の処理、改行コードの判別処理は不要になります。(改行コードが vbLf
 だけのテキストファイルでもちゃんと読み込めます)
 
 Sub Macro2()
 
 With ActiveSheet.QueryTables.Add(Connection:= _
 "TEXT;" & fname, Destination:=Range("A2"))
 > '  ↑CSVファイルfname をActiveSheetの[A2]セル以降にインポートします
 
 .Name = "F_Data"
 .FieldNames = True
 .RowNumbers = False
 .FillAdjacentFormulas = False
 .PreserveFormatting = True
 .RefreshOnFileOpen = False
 .RefreshStyle = xlInsertDeleteCells
 .SavePassword = False
 .SaveData = True
 .AdjustColumnWidth = True
 .RefreshPeriod = 0
 .TextFilePromptOnRefresh = False
 .TextFilePlatform = 932
 > '   ↑文字コードはShift-JIS です
 
 .TextFileStartRow = 1
 .TextFileParseType = xlDelimited
 .TextFileTextQualifier = xlTextQualifierDoubleQuote
 > '   ↑ダブルクート内を文字列データとします。データの前後の引用符は _
 自動的に削除してインポートされます
 
 .TextFileConsecutiveDelimiter = False
 .TextFileTabDelimiter = False
 .TextFileSemicolonDelimiter = False
 .TextFileCommaDelimiter = True
 .TextFileSpaceDelimiter = False
 .TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2)
 >'   列のデータ形式をすべて文字列としています
 
 .TextFileTrailingMinusNumbers = True
 .Refresh BackgroundQuery:=False
 
 .Delete
 >'   ↑読み込みRefreshが終わったらもとのCSVファイルとの接続を切断します
 End With
 End Sub
 
 |  |