|
miho さん、こんにちわ。
>エクセルシートにはe.mm.dd(17.07.18)と表示させたいのですが17.07.18と入力する人と07/18と入力する人がいます。
この2種類しか入力パターンがないとして
コマンドボタンを押したら反映される例です。
Private Sub CommandButton1_Click()
With TextBox1
If InStr(.Text, ".") > 0 Then
'17.7.18の場合
Range("A1").Value = DateValue( _
Application.WorksheetFunction.Substitute("H" & .Text, ".", "-"))
Else
'7/18の場合
Range("A1").Value = .Text'このまま入れても勝手に変わる。
End If
End With
End Sub
こんな感じです。
17.7.18は日付として有効な文字列ではないらしいので、Substitute関数を使用して17-7-18に変えています。
前に「H」をつけるのは、17.7.18だけだと2017年を意味することになるからです。
|
|