
こんにちは。VBA 初心者です。
あるセルに日付を入力しています。
そのセルは書式設定の表示形式・日付で「2001/3/14」と入力した時に、「2001年3月14日」と表示される様に設定しています。
そしてこのファイルをマクロで名前をつけて保存するとき、上記のセル(の値)をファイル名したいのですが、2001\3\14と認識され、エラーが出ます。
セルに日付を入力する時に、出来るだけかな入力はせず、日付をファイル名にして保存するにはどういう方法があるでしょうか。
わかりにくい説明で申し訳ありません。ウィンドウズXP・エクセル2003です。よろしくお願いします。
No.4
- 回答日時:
こんにちは。
>そのセルは書式設定の表示形式・日付で「2001/3/14」と入力した時に、「2001年3月14日」と表示される様に設定しています。
それは、VBAの基本的なことだと思いますが、セルの書式が、「2001年3月14日」のように、yyyy年mm月dd日となって、間違いないのなら、Rangeオブジェクトの、Valueプロパティ(プロパティを付けない場合も含め)ではなくて、Text プロパティです。
それが不確実なら、以下の二番目のように、Format 関数でのテキスト変換が必要になるとのですね。
Sub TestSave()
Application.Dialogs(xlDialogSaveAs).Show _
(ThisWorkbook.Worksheets("Sheet1").Range("A1").Text)
End Sub
不確実な場合
Sub TestSave2()
Dim Fn As Variant
Fn = ThisWorkbook.Worksheets("Sheet1").Range("A1").Value
If IsDate(Fn) Then
Fn = Format$(Fn, "yyyy年MM月dd日")
Application.Dialogs(xlDialogSaveAs).Show (Fn)
Else
MsgBox "日付値ではありません。", 64
End If
End Sub
なお、ダイアログの場合、拡張子は、キメウチしなくてもよいと思います。そのままなら、xlsですし、また、拡張子も変えられます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- エクセルのマクロについて教えてください。
- エクセルのマクロについて教えてください。
- エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの
- Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について
- Excelのマクロコードについて教えてください。
- エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ
- Excelのマクロについてご教授ください
- ExcelのVBAコードについて教えてください。
- エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望
- 条件に合った数値の合計を表示させたい関数と条件指定の方法
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
エクセルをPDFで保存し、ファイル名はA1セルを参照するVBAの記述を教えてください。
Excel(エクセル)
-
ファイル名を今日の日付、時刻で保存する
Visual Basic(VBA)
-
VBAでセルに入っている日付をシート名にする
Excel(エクセル)
-
-
4
【Excel】指定したセルの名前でPDFを保存する【VBA】
Visual Basic(VBA)
-
5
エクセル マクロ 名前を付けて保存 PDF保存先指定 ファイル名任意+日付
Excel(エクセル)
-
6
VBA セル入力された日付データから年月のみを取り出してファイル名につけたい
Access(アクセス)
-
7
EXCELで日付を自動でファイル名にしたい
Excel(エクセル)
-
8
セルの値を使ってファイルを保存
Excel(エクセル)
-
9
excelで複数セル値を組合わせてファイル名にする方法
Excel(エクセル)
-
10
Excelでセル内の文字をファイル名にする方法と、下のSheet1タブを2列にする方法は?
Excel(エクセル)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
Excelの選択範囲を特定のセル値をファイル名にしてPDFで保存する
Excel(エクセル)
-
13
Excel VBA セルの値をファイル名にして保存するには
Visual Basic(VBA)
-
14
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
15
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
16
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
17
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
18
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
19
マクロ VBA ファイル名を連番でつけたいのですが
Access(アクセス)
-
20
【ExcelVBA】全シートのセルの数式を値に変換する事は可能でしょうか?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日付だけを変更して印刷(Excel)
-
31:30:00が1900/1/1 7:30:0
-
日付入力→指定のセルの色を塗り...
-
エクセルでENTERを押すと数式が...
-
Excelで半年後の日付を計算したい
-
入力後に日付順になるように自...
-
エクセルで1・2・3月を翌年にし...
-
エクセルで数字列の間に『/』を...
-
Excelで8/26等の日付を全てその...
-
Excelで、年だけの「西暦」から...
-
エクセル 当番表の作り方 エク...
-
◆ EXCEL自動入力日付を自動で...
-
エクセルのセルにカレンダーを...
-
エクセル関数で日付かどうかの...
-
Excelで、本日、前日、1週間前...
-
エクセルで日付を別のシートに...
-
日付を入力したセルをファイル...
-
excelで月末日を判定したい
-
Excelで更新日時と更新者を表示...
-
☆Excelエクセルで入力した日の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
31:30:00が1900/1/1 7:30:0
-
日付だけを変更して印刷(Excel)
-
入力後に日付順になるように自...
-
エクセルでENTERを押すと数式が...
-
Excelで、年だけの「西暦」から...
-
日付入力→指定のセルの色を塗り...
-
エクセル関数で日付かどうかの...
-
エクセルで数字列の間に『/』を...
-
Excelで半年後の日付を計算したい
-
エクセルで1・2・3月を翌年にし...
-
エクセルのセルにカレンダーを...
-
WORDで翌日や翌々日の日付を表...
-
☆Excelエクセルで入力した日の...
-
エクセル 当番表の作り方 エク...
-
Excelで8/26等の日付を全てその...
-
EXCELで直近の日付を抽出する関数
-
ファイルのオープン時に今日の...
-
日付を入力したセルをファイル...
-
Excelで更新日時と更新者を表示...
-
VBAでセルに入っている日付をシ...
おすすめ情報