
No.3ベストアンサー
- 回答日時:
こんなので如何でしょうか?
課題のデータは「A1:A2000」に在るものとし、結果を隣の「B列」に出力してみました。
Sub 日付返還()
'▽初期化(変換結果出力場所)
Columns("B:B").ClearContents
Columns("B:B").NumberFormatLocal = "G/標準"
Range("A1").Select
'▼Case1:日付返還の式埋め込み(データが2000行の場合)
'Range("B1:B2000").FormulaR1C1 = "=DATEVALUE(RC[-1])"
'▼Case2:日付返還の式埋め込み(データ最終行を自動取得)
Range("B1", "B" & Cells(Rows.Count, 1).End(xlUp).Row).FormulaR1C1 = "=DATEVALUE(RC[-1])"
Range("A1").Select
'▽セルの書式設定(表示形式:和暦)
Range("B:B").NumberFormatLocal = "[$-411]ge.m.d;@"
Range("C1").Select
'▽式排除(コピー値張付け)
Columns("B:B").Copy
Columns("B:B").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("A1").Select
End Sub
No.5
- 回答日時:
回答はいくつか出てますが、一言。
>普通は日付認識するはずなのですが、
>書式をYYYYY/MM/DDにしても変化しないのです。
>一度F2を押して編集状態にして戻すと日付データとして認識するのですが
今回のように文字列のセルに既に数値(日付も数値)が力されている場合に
表示形式を変えてもその値は文字列のままです。
それを【ほんとの数値】に変換するためには
質問者がやったように再編集(再入力)しないといけません。
それをマクロでやるとすると次のようになります。
'--------------------------------
Sub test()
Range("A:A").NumberFormatLocal = "ge.m.d"
Range("A:A").Value = Range("A:A").Value
End Sub
'--------------------------------
以上です。

No.4
- 回答日時:
ま、ここで質問をしている間にも手作業を行っていて、今はすでに作業を終えているかもしれませんが。
。。> 一度F2を押して編集状態にして戻すと日付データとして認識するのですが、2000件ものデータをすべて行うのは厳しいため、
> 一度にできる方法はないかと思いまして。
A列に文字列として認識されている日付データーが書いてあるとして、
1. B列の書式を日付形式にする。
2. B1の式を =DATEVALUE(A1) と。
3. セル B1 の右下のハンドルをダブルクリックして、最後の行まで一気に。
No.2
- 回答日時:
VBAとしては
★IsDate(文字列)
文字列が日付として認識できればTrue、できなければFalse
★CDate(文字列)
文字列を日付型に変換する。文字列が日付として認識できない
場合はエラーになる
などがあります。
でも、#1さんの言うように、列の書式を変更するだけで
済む話のような気がします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DataGridViewでyyyy/MM/dd
-
エクセルのVBAで日付を検索し転...
-
VisualBasic6.0のFormat関数で...
-
JSPからYYYYMMDDで日付入力する
-
ユーザーフォームのラベルに日...
-
日別集計(その2)
-
ExcelVBAでSQLサーバの日付時刻...
-
DateTimePickerを西暦表示にす...
-
ExcelVBAでの日付入力について
-
テキストボックスにカレンダー...
-
VB6.0 のformat関数について
-
人をはめた人は 自分に返ってく...
-
1970年1月1日からの現在時間...
-
WMICでの日付指定について
-
VBAのオーバーフローについて質...
-
今日より前の書き方 マクロ
-
SQLで抽出
-
システム日付とは?
-
1本あたり○円と表示する時どの...
-
VBAで当月の1日を表示するには...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのVBAで日付を検索し転...
-
ユーザーフォームのラベルに日...
-
DataGridViewでyyyy/MM/dd
-
Eclipseの対応する括弧の強調表...
-
【Excel VBA】条件に合った行の...
-
VisualBasic6.0のFormat関数で...
-
システム日付とは?
-
【VBA】土日をスキップして日付...
-
テキストボックスにカレンダー...
-
指定した日付が、その月の第何...
-
今日より前の書き方 マクロ
-
VBAで日付入力しているのですが
-
VBでDate型の大小比較がうまく...
-
JSPからYYYYMMDDで日付入力する
-
VBA 日付、未来の日付はエラー...
-
テキストボックスに今日の日付...
-
「eclipseで作るカレンダー(ス...
-
VB 日付範囲チェック
-
VBAで当月の1日を表示するには...
-
1本あたり○円と表示する時どの...
おすすめ情報