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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBA 文字列変換と指定した列にある日時データから時間を削除する方法について 2 2022/04/14 15:23
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Excel(エクセル) VBA 指定した列にある日時データから時間を削除する方法について 4 2022/04/14 11:17
- Visual Basic(VBA) Excel VBA 書式変更で困ってます。 オートフィルターの日付フィルターを用いて データの絞り込 2 2022/07/26 22:16
- その他(Microsoft Office) wordの差し込み印刷での日付表示 2 2023/08/15 16:51
- その他(Microsoft Office) エクセル 日付を数値に変換する方法 4 2023/03/24 12:05
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) 【Excel】指定した文字列に該当する行を重複しないようにリスト 3 2022/03/30 12:27
- Excel(エクセル) Excel ある複数列に数値を入力した際に、別の列に本日の日付を入力したいです 7 2023/03/01 23:31
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンボボックスに日付を表示する
-
DataGridViewの和暦表示について
-
VisualBasic6.0のFormat関数で...
-
ExcelVBAでSQLサーバの日付時刻...
-
Eclipseの対応する括弧の強調表...
-
3人のじゃんけんのプログラム
-
ユーザーフォームのラベルに日...
-
和暦表示
-
テキストボックスに今日の日付...
-
VBAで当月の1日を表示するには...
-
<Access>2つの抽出条件が合致...
-
DataGridViewでyyyy/MM/dd
-
VBAの質問になります 行の非表示
-
エクセルのVBAで日付を検索し転...
-
「eclipseで作るカレンダー(ス...
-
Googleフォームで選択肢に応じ...
-
VBAで日付入力しているのですが
-
ACCESSのフォームに本日...
-
VBA:日付をシリアル値にできる...
-
今日より前の書き方 マクロ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAの質問になります 行の非表示
-
ユーザーフォームのラベルに日...
-
Googleフォームで選択肢に応じ...
-
エクセルのVBAで日付を検索し転...
-
VisualBasic6.0のFormat関数で...
-
システム日付とは?
-
Eclipseの対応する括弧の強調表...
-
【VBA】土日をスキップして日付...
-
DataGridViewでyyyy/MM/dd
-
【Excel VBA】条件に合った行の...
-
VBAで当月の1日を表示するには...
-
VBA 日付、未来の日付はエラー...
-
JSPからYYYYMMDDで日付入力する
-
VB6.0 のformat関数について
-
指定した日付が、その月の第何...
-
VBで時間計算
-
VBAのオーバーフローについて質...
-
今日より前の書き方 マクロ
-
テキストボックスに今日の日付...
-
3人のじゃんけんのプログラム
おすすめ情報