|
▼りんご さん:
>>追加の質問ですが、以前にご指導いただいたマクロですが、入力項目(R7:V23)に値がないときに処理を中断するつもりで、式を張付ましたがうまくいきません。 このやり方は何が問題なのでしょうか?
>理解できていないのでよろしくお願いします。
>
>Sub 残菜まとめて登録()
>
> Dim 登録 As Worksheet, 当月 As Worksheet
> Dim 月 As Long, 日 As Long
> Dim 縦 As Long, 最終行 As Long
> Dim msg As Long
> Dim 行 As Long
>
> Set 登録 = Worksheets("登録")
> 月 = 登録.Cells(4, 18).Value
> 日 = 登録.Cells(4, 20).Value
>
> If WorksheetFunction.CountBlank(Range("R7:V23")) > 0 Then
> MsgBox "登録データがありません"
> Exit Sub
> End If
>
>
> msg = MsgBox("入力内容を登録月" & 月 & "シートに転送します。" & vbCrLf & "よろしいですか?", vbOKCancel + vbExclamation, "入力内容の転送")
> If msg <> vbOK Then MsgBox "操作を中断しました": Exit Sub
>
> Set 当月 = Worksheets("登録月" & 月)
> 縦 = 7
> Do Until 当月.Cells(縦, 20).Value = ""
> 縦 = 縦 + 1
> Loop
>
> If WorksheetFunction.CountIf(当月.Range(当月.Cells(7, 20), 当月.Cells(縦, 20)), 日) >= 1 Then
> msg = MsgBox("この日付はすでに使用されています ", vbOKOnly + vbCritical)
> If msg = vbOK Then Exit Sub
>
> End If
> (以下 略)
そちらのデータ配置がどんなものか、コードから推測しているだけなので
どう修正したらよいかも推測にばりますが、
If 登録.Cells(7,18).Value="" Then
とか
If 登録.Cells(7,17).Value="" Then
では、だめなのでしょうか?
|
|