こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

日付を自動入力する方法

入力フォームと言うシートの日付列A8からA22(A8からD8まで結合して、このパターンでA22まであります)まで日付を入れるようにしています。右隣の列E8からE22は商品名が入る列です。

今は、下記のVBAで日付のセルを選択して、日付が自動で入るボタンを押して、本日の日付を入力しています。K28には=today()の関数が入っています。

Sub 日付入力()
 ActiveSheet.Unprotect
 Range("K28").Copy
 ActiveSheet.Paste
 Application.CutCopyMode = False
 ActiveSheet.Protect
End Sub

これを日付のマクロボタンを押す毎に、A8からA22まで順番に入力できるようにするにはどうすればよいでしょうか? 尚、入力フォームの作成・保存が終わるとA8からA22まですべて、セルの値を消去するマクロボタンを作っています。

投稿日時 - 2018-02-28 11:08:41

QNo.9433543

困ってます

質問者が選んだベストアンサー

>日付のマクロボタンを押す毎に
ということなら、
Sub 日付入力()

 Const SLineNum = 8
 Const ELineNum = 22
 
 Dim wkCount As Integer

 wkCount = SLineNum
 
 With ThisWorkbook.Sheets(1)
  Do
   If wkCount > ELineNum Then
    Exit Do
   End If
   If .Cells(wkCount, 1).Value = "" Then
    '.Cells(wkCount, 1).Value = Now   ’注1
    .Cells(wkCount, 1).Value = .Cells(28, 11).Value
    Exit Do
   End If
   wkCount = wkCount + 1
  Loop
 End With

End Sub

でいかがでしょうか?
注1は、K28を使わない場合です。

投稿日時 - 2018-02-28 12:34:22

お礼

ご回答ありがとうございます。まさに希望と通りに動作しました。
本当に助かります。m(_ _)m

投稿日時 - 2018-02-28 18:27:13

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問