[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『表示形式が文字列の日付を日付書式にするには、』(てつ)
[[20170125162037]] 『表示形式が文字列のセルにある日付を日付や数値に』(ぽんとりん)
を参考にして、 文字列となっている日付を日付として認識させることができたので ですが、(他にもセルのWクリックでも)これをマクロで行いたいと思っています。 いろいろネットで調べてみたのですが、わかりません。 よろしくお願いいたします。
< 使用 Excel:Excel2013、使用 OS:Windows10 >
Sub 日付へ変換()
Dim r As Range
For Each r In Selection
If r.Value <> "" Then r.Value = DateValue(r.Value)
Next
End Sub
該当のセルを選択した状態でマクロ実行 (bi) 2017/06/04(日) 16:42
「型が一致しません」とエラー表示が出ます。
(てつ)
参考です。
マクロを「書いてみた」「動かした」「ダメでした」。 http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_200.html (カエムワセト) 2017/06/04(日) 17:07
(マナ) 2017/06/04(日) 17:09
そのとおりです。 マクロの作業の中に入れこもうとしています。 (てつ)
(マナ) 2017/06/04(日) 17:36
異なる人が入力するので、
1 H.5.2. 3
2 S58.5.8
3 H2.3.6
4 S59.4.6.
等、日付と文字列の表示形式が入り混じります。
そこで、文字列のセルのみ(1と4)選択し、
For Each cl In Selection
値 = cl.Value
If Right(値, 1) = "." Then
値 = Left(値, Len(値) - 1)
End If
値 = Replace(値, " ", "")
値 = Replace(値, " ", "")
値 = Replace(値, "H.", "H")
値 = Replace(値, "H.", "H")
値 = Replace(値, "S.", "S")
値 = Replace(値, "S.", "S")
値 = Replace(値, ".", "/")
cl.Value = 値
cl.Value = Format(cl.Value, "[$-411]ge.m.d;@")
Next cl
を実行します。
1 H5.2.3
4 S59.4.6
とそれぞれのセルには、表示されていますが、
数式バーをみると 西暦表示されていません。
そのセルをWクリックすると、
数式バーに西暦表示されます。
このセルのWクリックの操作をマクロに
組み込みたいと考えています。
よろしくお願いいたします。
(てつ) 2017/06/04(日) 19:36
これより先に、biさんのコードを実行する必要があります。
これでエラーがでないと思います。
入力ミスの修正部分はこれで十分かどうかはわかりません。
そのままにしてあります。
Option Explicit
Sub test()
Dim cl As Range
Dim 値
For Each cl In Selection.SpecialCells(xlCellTypeConstants)
If Not IsDate(cl.Value) Then
値 = cl.Value
If Right(値, 1) = "." Then
値 = Left(値, Len(値) - 1)
End If
値 = Replace(値, " ", "")
値 = Replace(値, " ", "")
値 = Replace(値, "H.", "H")
値 = Replace(値, "H.", "H")
値 = Replace(値, "S.", "S")
値 = Replace(値, "S.", "S")
値 = Replace(値, ".", "/")
If IsDate(値) Then cl.Value = DateValue(値)
End If
Next cl
Selection.NumberFormatLocal = "[$-411]ge.m.d;@"
End Sub
(マナ) 2017/06/04(日) 21:00
biさん、マナさん、ありがとうございました。 すべて、日付書式に変えることが できました。
DateValueの使い方を覚えておこうと思います。 これで、すべてマクロで処理できます。 ありがとうございました。
(てつ) 2017/06/04(日) 22:00
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.