| 
    
     |  | データを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
 
 |  |