- ベストアンサー
Excel でcsvファイルの読み込み
Excelでcsvファイルを開く時、 「00000」は「0」として取り込まれてしまいます。 この「00000」をそのまま文字列で「00000」と表示する方法はあるのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
CSVファイルをただWクリックしてエクセルに開かせるのでは、そのまま文字列で表示する方法や設定はありません。 別の方法で、次のような手順で開かせると出来ます。 方法1: ご利用のエクセルのバージョンが不明ですが、データタブのテキストファイル(データメニューの外部データの取り込み)でCSVファイルを直接選んで取り込む操作を開始 テキストインポートウィザードが現れるので、3/3画面で必要な列の書式設定を明示的に文字列に設定して完了します。 方法2: CSVファイルの拡張子をtxtに変更し、エクセルのファイルを開くから開きます テキストインポートウィザードが現れるので、3/3画面で必要な列の書式設定を明示的に文字列に設定して完了します。
その他の回答 (2)
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
テキストファイル読み込みウィザードはシンドイので、全列を文字列で読み込むマクロは如何? ファイル: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付き数字をそのまま読み込む為にセル書式を文字列にして読み込む
お礼
回答ありがとうございます。 これだとファイル名は毎回指定する必要がありそうですね。 ちょっと変更して個人マクロに登録すればイケそうですね。 参考にさせていただきます。
- LHS07
- ベストアンサー率22% (510/2221)
メモ帳(ノットパッド)で開いて ,を,'に置換します。 但し、この方法では1行の最初に数字があるとだめです。 そして各列の文字の最初に'が入ってしまいますが・・・。
お礼
回答ありがとうございます。 参考にさせていただきます。
お礼
おお、その手がありましたか。 これは分かりやすくてすぐにできました! ありがとうございました。