|
こんにちは。お力をお貸しください。
該当セルがws2.Cells(2, 4)の値より大きくws2.Cells(3, 4)の値より小さいときに
発動するマクロを作成しました。
以下で望むとおりの結果が得られたのですが、VBSから呼び出して
このマクロを走らせたときにワークシート関数でとまってしまいます。
代替案や、ヒント等ございましたらどうぞよろしくお願いいたします。
Public ws0 As String
Public ws1, ws2 As Worksheet
Public i, k As Integer
Public Sub before()
ws0 = Year(Date) & Right("0" & Month(Date), 2)
Set ws1 = ThisWorkbook.Worksheets(ws0)
Set ws2 = ThisWorkbook.Worksheets("日付")
For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
If Application.WorksheetFunction.And(ws1.Cells(i, 1) > ws2.Cells(2, 4), ws1.Cells(i, 1) < ws2.Cells(3, 4)) = True Then
MsgBox ws1.Cells(i, 1).Value
End If
Next i
For k = 1 To Range("b" & Rows.Count).End(xlUp).Row
If Application.WorksheetFunction.And(ws1.Cells(k, 2) > ws2.Cells(2, 4), ws1.Cells(k, 2) < ws2.Cells(3, 4)) = True Then
MsgBox ws1.Cells(k, 2).Value
End If
Next k
End Sub
|
|