|
データを4列に入力するに当たり、Application.Inputboxを利用しました。
キャンセルやOKを釦押したときに対応するコードを使ったのですが、いちれる単位に同じコードを4回使っていますが、これを1回で済ませることはできないでしょうか。
また、最初のA列には”X月Y日”をコードで規定したいのですが、どのようにコードを書けば良いでしょうか。
全般的にもっとスマートなコードがあれば、ご指摘いただければ幸いです。
よろしくお願いします。
Sub データ入力()
Dim md As Variant
Dim hn As Variant
Dim ln As Variant
Dim pn As Variant
With Sheets("sheet1").Range("A65536").End(xlUp).Offset(1, 0)
md = Application.InputBox("月日を入力してください", "日付", "1/1")
If VarType(md) = vbBoolean Then
MsgBox "キャンセルされました"
Else
If md = "" Then
MsgBox "何も入力せずOKが押されました"
Else
.Value = md
End If
End If
hn = Application.InputBox("データ1を入力してください", "hnデータ")
If VarType(hn) = vbBoolean Then
MsgBox "キャンセルされました"
Else
If hn = "" Then
MsgBox "何も入力せずOKが押されました"
Else
.Offset(, 1).Value = hn
End If
End If
ln = Application.InputBox("データ2を入力してください", "lnデータ")
If VarType(ln) = vbBoolean Then
MsgBox "キャンセルされました"
Else
If ln = "" Then
MsgBox "何も入力せずOKが押されました"
Else
.Offset(, 2).Value = ln
End If
End If
pn = Application.InputBox("データ3を入力してください", "pnデータ")
If VarType(pn) = vbBoolean Then
MsgBox "キャンセルされました"
Else
If pn = "" Then
MsgBox "何も入力せずOKが押されました"
Else
.Offset(, 3).Value = pn
End If
End If
End With
End Sub
|
|