• ベストアンサー

Excel でcsvファイルの読み込み

Excelでcsvファイルを開く時、 「00000」は「0」として取り込まれてしまいます。 この「00000」をそのまま文字列で「00000」と表示する方法はあるのでしょうか?

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

CSVファイルをただWクリックしてエクセルに開かせるのでは、そのまま文字列で表示する方法や設定はありません。 別の方法で、次のような手順で開かせると出来ます。 方法1: ご利用のエクセルのバージョンが不明ですが、データタブのテキストファイル(データメニューの外部データの取り込み)でCSVファイルを直接選んで取り込む操作を開始 テキストインポートウィザードが現れるので、3/3画面で必要な列の書式設定を明示的に文字列に設定して完了します。 方法2: CSVファイルの拡張子をtxtに変更し、エクセルのファイルを開くから開きます テキストインポートウィザードが現れるので、3/3画面で必要な列の書式設定を明示的に文字列に設定して完了します。

sakuuuuu
質問者

お礼

おお、その手がありましたか。 これは分かりやすくてすぐにできました! ありがとうございました。

その他の回答 (2)

回答No.3

テキストファイル読み込みウィザードはシンドイので、全列を文字列で読み込むマクロは如何? ファイル:00.csv 読み込み開始位置:A2 書式:全列を文字列で ================================ Sub ReadCSV() Dim myPath As String Dim i As Integer Dim N As Integer Dim D As String Dim myVals As Variant Dim rngDest As Range '読み込みファイル myPath = ThisWorkbook.Path & "\00.csv" N = FreeFile Open myPath For Input As #N Line Input #N, D Close #N myVals = Split(D, ",") Application.ScreenUpdating = False '読み込み位置 Set rngDest = Workbooks.Add.Worksheets(1).Range("A2") '全列文字列書式 rngDest.Resize(, UBound(myVals) + 1).EntireColumn.NumberFormat = "@" Open myPath For Input As #N Do Until EOF(N) Line Input #N, D myVals = Split(D, ",") rngDest.Resize(, UBound(myVals) + 1).Value = myVals Set rngDest = rngDest.Offset(1) Loop Close #N Application.ScreenUpdating = True End Sub ================================ <<出典>> 「エクセルVBA小技集」 http://hp.vector.co.jp/authors/VA033788/kowazasortname.html#0057 CSVを文字列として読み込み ―  CSVファイルの0付き数字をそのまま読み込む為にセル書式を文字列にして読み込む

sakuuuuu
質問者

お礼

回答ありがとうございます。 これだとファイル名は毎回指定する必要がありそうですね。 ちょっと変更して個人マクロに登録すればイケそうですね。 参考にさせていただきます。

  • LHS07
  • ベストアンサー率22% (510/2221)
回答No.2

メモ帳(ノットパッド)で開いて ,を,'に置換します。 但し、この方法では1行の最初に数字があるとだめです。 そして各列の文字の最初に'が入ってしまいますが・・・。

sakuuuuu
質問者

お礼

回答ありがとうございます。 参考にさせていただきます。