我对VBA完全不熟悉。我可能每年使用一次,当我在这个和其他论坛搜索代码时。对于我的卑微需求,这通常是完美的。不幸的是由于我对代码缺乏真正的了解,在这种情况下,我无法看到我做错了什么。希望有人可以提供帮助。
我有一个时间表,我想将值复制到数据表。我有那个工作。但重要的是用户在表单中填写正确的周数。为了检查他们是否已经这样做,我写了一段代码,当未填写周数时,该代码应该返回一个消息框。当我只使用对单个单元格的引用时,代码就可以工作。但由于周数没有填入所有表格的同一单元格中,我希望宏搜索文本"周数:"然后检查它旁边的单元格是否为空。
Sub Weeknumber()
dim cl as Range
Worksheets("Invul_Tabel").Activate
With Worksheets("Invul_Tabel").Cells
Set cl = .Find("Weeknummer:", After:=.Range("A1"), LookIn:=xlValues)
If IsEmpty(Range(cl).Offset(0, 1).Value) = True Then
MsgBox "Geen weeknummer ingevuld"
Exit Sub
End If
End With
End Sub
代码在" If IsEmpty"上给出错误。线" (错误1004)。 可能很简单,但我似乎无法弄明白!
答案 0 :(得分:3)
您的cl变量已经是一个范围。
更改
If IsEmpty(Range(cl).Offset(0, 1).Value) = True Then
到
If IsEmpty(cl.Offset(0, 1).Value) Then