【发布时间】:2021-08-13 22:48:44
【问题描述】:
我正在尝试使用 vba 引用具有通用名称和唯一编号的工作表范围,以在每个工作表上明确范围。但我收到 1004 错误。
For lngWeek = 1 To 53
strSheet = "Week" & Trim(Str(lngWeek))
strRange = strSheet & "!B5:H7"
Range(strRange).Activate
Next
工作表是 Week1、Week2 等,我需要清除每张工作表上的 B5:H7 范围。从第 1 周到第 53 周。
为什么 Range.Activate 无法选择每个页面?
【问题讨论】:
-
你不需要
Activate。ThisWorkbook.Worksheets("Week" & lngWeek).Range("B5:H7").ClearContents. -
使用 CStr 而不是 Str。阅读文档以了解原因。
-
你甚至不需要
CStr。&forces string concatenation. -
不需要
CStr、@BigBen,而是“说出你的意思,说出你的意思”,让代码更清晰 -
@FreeMan
&言行一致。