- ベストアンサー
CSVファイルをExcelで開く!
皆さんこんにちわ 標題のように、ExcelにてCSVファイルを開いた場合、「0001」(CSV側)というデータは、0が削られ「1」(Excel側)へと変換されてしまいます。 Excelで開いた際に、はじめから0001の状態で(後でセルの書式設定でいじるのではなく・・・)表示したいのですが、どうしたら宜しいでしょうか? この質問の背景: 駆け出しSEです。 プログラムの経験はあるのですが、Excelについてはちんぷんかんぷんです。 上司と上記の現象の解決策を練っていたのですが、二人ともExcelに疎く、「VBで書くしかないんじゃない?」 とかなってきました。。。 ほんとに他の解決策がないのかをお尋ねしたいのです! よろしくお願い致します。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
CSVファイルをダブルクリックするなどして開くのではなくまずExcelをひらき外部データの取り込みを行えばいかがでしょうか。 その際、0001などは数値としてではなく文字列として取り込めば左0詰めもカットされずに表示されます。
その他の回答 (4)
- Wendy02
- ベストアンサー率57% (3570/6232)
#4さんへ。 それは、通常の方法では、出来ないと思いますよ。 "001","002" ↓ 1 2 となります。
お礼
あり? 自分は普通にできちゃいました。。。^^; と、、、おもいよく確認してみると、文字列にチェック入ってる><。 Excelをひらくと、ダブルコォーテーションついてる! ありがとうございました~
- tomy06
- ベストアンサー率25% (58/224)
メモ帳等で開いてから、""でくくって、文字列として扱ってはどうでしょう
お礼
試しました! そして文字列と認識され、問題なく処理されました が、残念ながら、データが大量でその方法は使えなさそげです;; 説明不足で申し訳ありません。。。 お答えいただきありがとうございました!
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 Open ~ For Input As FileNo で、CSVを開いて、 Line Input で取れたものを TextLine としますね。そうすると、そのTextLineを、 Split(textLine, ",") で[配列]としますが、その[配列]のデータ型宣言を 文字型にしてあれば、キャストが働かないわけです。 貼り付けるのは、Cells(i,1).Resize(,Ubound(配列)+1).Value =配列 あたりでできると思います。
お礼
ぶあついVBの本をひっくり返してました 勉強になりました! ありがとうございます^^
- THX1138
- ベストアンサー率51% (108/208)
ファイル名を xxx.txt に変えて通常のテキストファイル扱いで開くと、テキストファイルウィザードが開きますので、そこでカンマ区切りを選択し、さらに各フィールドのデータ形式を「文字列」にすればよいかと思います。
お礼
ご回答ありがとうございます^^ 「なるほど!」と思い、もちょっと考えて、CSV拡張子を秀丸にくっつけてみたらうまくできました!
お礼
できました!! ついでにマクロで記録しながら、、、 なにやら、中身はよくわかりませんがこれから辞書片手にほどいて行きます! ありがとうございました^^