
Excel VBAにて質問があります。
E列に「01」と表示させたくで
'E列を「文字列」にする
Columns("E:E").Select
Selection.NumberFormatLocal = "@"
と記述しました。
その後、名前を付けて保存でCSV形式にて保存します。
保存されたCSV形式のファイルを開くと「1」のままになってしまいます。
なぜでしょうか?何か他に記述しなければいけないのでしょうか?
わかる方教えてください。
No.3ベストアンサー
- 回答日時:
まず、保存した時は、『0』が生きてるはずです
それをエクセルで読み込んだ時に、『0』が取れます
CSVファイルをメモ帳で開いて見てください
そして、表示形式がG/標準のとき『01』と入力しても『0』が消えます
つまり、読み込むときに表示形式が指定されていないと上手く行きません
簡単な方法としては
文字の先頭にシングルコーテーション『'』を付けます
ABC,123,01,02→'ABC,'123,'01,'02
ただし、常にこの『'』を意識しなくてはなりません
「『'』に続く文字を文字列として読め、という【文字】」ですので…
あとは、手動でTEXTファイルを読み込む操作をマクロの記憶で取って、出てきたソースを改造してみると、CSVファイルに手を加えなくても良い方法が見えてくるかも知れません
ファイルの拡張子を『.txt』にして試し、出来上がったら、CSVファイルを読み込む際、拡張子を『.txt』に変更したコピーを作るマクロと合体させ『.txt』を読み込みます
手動でのやりかた↓
http://www.relief.jp/itnote/archives/000839.php
最後は、自動オープンなどに頼らず、ファイルオープンからマクロを組む事かな?
http://officetanaka.net/excel/vba/file/file08.htm
とか
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub0 …
辺り
いきなりシートに展開するのではなく、一旦変数に受けて、文字としてセルに入力することで、『0』が取れるのを防止します
出来なくはありません
実際業務で発生しますし使ってもいます
ですが、結構大変と思った方が良いですよ
Openメソッドは奥が深いんで^^;
がんばってくださいね
pulsaさん
わかりやすい説明ありがとうございました。
初心者の私にはかなり難しいという事がわかりました。
もう1度、自分なりに勉強してみます。
ありがとうございました。
No.2
- 回答日時:
CSVは単なるテキストファイルなので、列の表示形式などは記録されません。
従って、数値と認識される文字列(数字、符号、小数点)は数値として扱われます。
CSVで保存し、Excelで参照する限り回避手段はありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
CSVファイルの「0落ち」にVBA
Access(アクセス)
-
エクセルマクロで「1」を「01」に変換したい
Excel(エクセル)
-
-
4
【ExcelVBA】各セルをダブルクォーテーションで括ってCSV保存したい
Visual Basic(VBA)
-
5
Excel VBAでCSVファイルを読込むと何故か文字列が日付に変換さ
その他(Microsoft Office)
-
6
EXCELからCSVへ変換すると0が消えてしまいます
Excel(エクセル)
-
7
【エクセルVBA】お願いします。csvファイルを文字列形式のxlsxに変換したいのですが・・・
Visual Basic(VBA)
-
8
2つ以上の変数を比較して最大数を求めたい
Word(ワード)
-
9
【VBA】ExcelマクロでCSVファイルに保存したデータが"で囲まれてしまう
Visual Basic(VBA)
-
10
【CSVファイル】先頭の文字列に0を付与し保存する方法について
Excel(エクセル)
-
11
エクセルvbaで転記したのですが、数字のゼロが消えてしまいます。 ゼロも転記するためにはどうしたらい
Excel(エクセル)
-
12
【Excel VBA】取り込んだファイルのファイル名を取得するには?
Visual Basic(VBA)
-
13
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
14
CSV形式にすると出てくる空白を消したいです。
その他(Microsoft Office)
-
15
array関数で格納した配列の型を変更する
Visual Basic(VBA)
-
16
VBA:Openステートメントで開いたCSVファイルの特定行を削除する方法
その他(プログラミング・Web制作)
-
17
VBA 数値を文字列として貼付したい
Excel(エクセル)
-
18
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
19
別ブックをダイアログボックスで指定してそこにあるシートをコピーしたい
Excel(エクセル)
-
20
Accessのテーブルを既存のExcelファイルへエクスポートしたいんですが
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel: ファイル名になぜ、[...
-
CSVファイルの特定行の削除
-
エクセルのファイル:「自分」が...
-
ファイルが移動してもリンクの...
-
VBA ファイル一覧を取得して全...
-
CSVファイルの暗号化
-
File.delete()にてファイルを削...
-
VB6.0のログファイル
-
彼女の過去の恋愛に嫉妬してし...
-
複数のExcelファイルにある同名...
-
5000個のtiffファイルをpdfへ変...
-
HPビルダー未使用ファイルの...
-
vbsからのExcelマクロ呼び出し...
-
xlsファイルが開かない。
-
テキストファイル操作 実行時...
-
[Unity]シーンファイルの中が消...
-
Excelのマクロについて教えてく...
-
iCloud for Windowsをアンイン...
-
Access VBAから使用したExcelプ...
-
TortoiseSVNでリポジトリURLの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel: ファイル名になぜ、[...
-
エクセルのファイル:「自分」が...
-
彼女の過去の恋愛に嫉妬してし...
-
CSVファイルの特定行の削除
-
ファイルが移動してもリンクの...
-
複数のExcelファイルにある同名...
-
EXCELVBAにて文字列にして「01...
-
xlsファイルが開かない。
-
vbsからのExcelマクロ呼び出し...
-
CSVファイルの暗号化
-
FTPのgetとputの使いわけ。
-
docxをmht形式で保存したファイ...
-
iCloud for Windowsをアンイン...
-
VBA ファイル一覧を取得して全...
-
[Unity]シーンファイルの中が消...
-
VBSでフォルダ内の最新のファイ...
-
VBAにおいて、ファイルの移...
-
このファイルは外部のエディタ...
-
batでファイル名を変更したい(...
-
フォルダ内の複数のファイルの...
おすすめ情報