
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で質問しましょう!
似たような質問が見つかりました
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) csvファイルをExcel形式で読み込むには 2 2023/07/03 13:09
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Excel(エクセル) csvに別のExcelの文章を差し込む 2 2023/04/01 16:06
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- その他(Microsoft Office) ExcelをPDFで保存..できる無料版オフィスソフト 5 2023/07/09 09:57
このQ&Aを見た人はこんなQ&Aも見ています
-
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
CSVファイルの「0落ち」にVBA
Access(アクセス)
-
【ExcelVBA】各セルをダブルクォーテーションで括ってCSV保存したい
Visual Basic(VBA)
-
-
4
エクセルマクロで「1」を「01」に変換したい
Excel(エクセル)
-
5
Excel VBAでCSVファイルを読込むと何故か文字列が日付に変換さ
その他(Microsoft Office)
-
6
EXCELからCSVへ変換すると0が消えてしまいます
Excel(エクセル)
-
7
【Excel VBA】取り込んだファイルのファイル名を取得するには?
Visual Basic(VBA)
-
8
【エクセルVBA】お願いします。csvファイルを文字列形式のxlsxに変換したいのですが・・・
Visual Basic(VBA)
-
9
【VBA】ExcelマクロでCSVファイルに保存したデータが"で囲まれてしまう
Visual Basic(VBA)
-
10
UserForm1.Showでエラーになります。
工学
-
11
エクセルvbaで転記したのですが、数字のゼロが消えてしまいます。 ゼロも転記するためにはどうしたらい
Excel(エクセル)
-
12
【CSVファイル】先頭の文字列に0を付与し保存する方法について
Excel(エクセル)
-
13
VBA 数値を文字列として貼付したい
Excel(エクセル)
-
14
別ブックをダイアログボックスで指定してそこにあるシートをコピーしたい
Excel(エクセル)
-
15
VBAを使って選択した範囲の数字(電話番号)の先頭に0を付ける方法が知りたいです。
Visual Basic(VBA)
-
16
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
17
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
18
Accessのテーブルを既存のExcelファイルへエクスポートしたいんですが
Access(アクセス)
-
19
VBAで「」[']をエスケープする方法"
Visual Basic(VBA)
-
20
VBA:日付を配列に入れ別セルに転記するとデータ型が変わる
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSVファイルの特定行の削除
-
エクセルのファイル:「自分」が...
-
Excel: ファイル名になぜ、[...
-
彼女の過去の恋愛に嫉妬してし...
-
複数のExcelファイルにある同名...
-
WINDOWS CMDからゴミ箱のファ...
-
vbsからのExcelマクロ呼び出し...
-
ファイルが移動してもリンクの...
-
batでファイル名を変更したい(...
-
EXCELVBAにて文字列にして「01...
-
[Unity]シーンファイルの中が消...
-
FTPのgetとputの使いわけ。
-
CSVファイルの暗号化
-
Excel「ドキュメント検査機能で...
-
COMコンポーネントファイルが参...
-
エクセル保存終了で一時ファイ...
-
このファイルは外部のエディタ...
-
docxをmht形式で保存したファイ...
-
iCloud for Windowsをアンイン...
-
ファイルの同一性を判定するID...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSVファイルの特定行の削除
-
彼女の過去の恋愛に嫉妬してし...
-
Excel: ファイル名になぜ、[...
-
エクセルのファイル:「自分」が...
-
ファイルが移動してもリンクの...
-
iCloud for Windowsをアンイン...
-
EXCELVBAにて文字列にして「01...
-
WINDOWS CMDからゴミ箱のファ...
-
vbsからのExcelマクロ呼び出し...
-
[Unity]シーンファイルの中が消...
-
5000個のtiffファイルをpdfへ変...
-
複数のExcelファイルにある同名...
-
このファイルは外部のエディタ...
-
batでファイル名を変更したい(...
-
フォルダ内の複数のファイルの...
-
docxをmht形式で保存したファイ...
-
FTPのgetとputの使いわけ。
-
Googleドライブについて
-
VBA ファイル一覧を取得して全...
-
エクセル保存終了で一時ファイ...
おすすめ情報