在声明变量时,未设置块变量。
在声明变量时,未设置块变量。
我对VBA不是很了解(目前正在自学),希望有人能帮我解决一个错误。我正在编写一个宏,用于定位位于作为每周时间表的工作表中的今天的日期。每个时间表都是基于相同的模板。我希望循环遍历每个工作表,在B列中搜索今天的日期,如果找到,选择其左边的单元格,并停止搜索其他工作表。
该列中的日期是基于公式的,所以不能使用find函数。我觉得我差不多快成功了,但是出现了“运行时错误91:对象变量或With块变量未设置。”以下是我的代码。我在targetcell = ws.Cells(Counter, 2)
这一行出现错误。
Sub test() Dim ws As Worksheet Dim FindString As Date ' 今天的日期 Dim DateRange As Range ' 特定时间表上的日期范围 Dim target As Long ' 当前正在检查的日期 Dim targetcell As Range ' 正在检查日期的位置 Dim found As Boolean ' 检查是否找到日期 Dim LR As Double ' 存储日期的列的最后一行 '将今天的日期转换为可以在日期范围中搜索的字符串 FindString = CLng(Date) found = False '找到的起始点 For Each ws In ThisWorkbook.Worksheets If ws.Name <> "Dashboard" And ws.Name <> "Template" Then '只检查时间表 ws.Activate ' 选择时间表 LR = ws.Range("B:B").SpecialCells(xlCellTypeLastCell).Row For Counter = 1 To LR targetcell = ws.Cells(Counter, 2) target = CLng(targetcell) If target = FindString Then ws.Cells(Counter, 1).Select found = True Exit For End If Next Counter If found = True Then Exit For End If End If Next ws End Sub
我尝试通过将targetcell = ws.Cells(Counter, 2)
完全删除来解决问题,将target = CLng(targetcell)
更改为target = CLng(ws.Cells(Counter, 2))
,但是这样在那一行上出现了运行时错误13:类型不匹配。
非常感谢任何帮助!