动态范围Excel VBA:您可以储存一个单元格范围,然后用范围函数再次调用它吗?
我尝试使用for循环在电子表格中的一系列范围周围绘制边框,但范围的大小存储在变量中。这是我的密码:动态范围Excel VBA:您可以储存一个单元格范围,然后用范围函数再次调用它吗?,excel,vba,variables,range,Excel,Vba,Variables,Range,我尝试使用for循环在电子表格中的一系列范围周围绘制边框,但范围的大小存储在变量中。这是我的密码: For i = 0 To 19 Dim top_left, bottom_right As Range Set top_left = Range("G4").Offset(0, 2 * i) Set bottom_right = Range("H" & size).Offset(0, 2 * i) Worksheets
For i = 0 To 19
Dim top_left, bottom_right As Range
Set top_left = Range("G4").Offset(0, 2 * i)
Set bottom_right = Range("H" & size).Offset(0, 2 * i)
Worksheets(3).Range(top_left & ":" & bottom_left).BorderAround ColorIndex:=1
Next
其中size
是从单元格G4向下开始的my range的垂直长度,my range的宽度是2个单元格(因此For循环偏移量中的2*i)
错误在这一行:
Worksheets(3).Range(top_left & ":" & bottom_left).BorderAround ColorIndex:=1
我尝试过将范围转换为地址或字符串,但不起作用。有什么想法吗?首先,您在行中写了“左下角”并有错误,但“左下角”不存在。我想你想写“右下角”,是吗 第二,“左上”和“右下”不像“A1”那样代表地址,它们包含值。不能将它们与“Range”(“)一起使用 请尝试以下方法:
Worksheets(3).Range(top_left.Address & ":" & bottom_right.Address).BorderAround ColorIndex:=1
首先,你在一行中写了一个错误“bottom_left”,但“bottom_left”不存在。我想你是想写“bottom_right”,不是吗 第二,“左上角”和“右下角”不像“A1”那样表示地址,它们包含值。不能将它们与“范围”(“)一起使用 请尝试以下方法:
Worksheets(3).Range(top_left.Address & ":" & bottom_right.Address).BorderAround ColorIndex:=1
工作表(3).范围(左上角地址和“:”&左下角地址)…
或工作表(3).范围(左上角,左下角)…
尝试使用范围(左上角,左下角)
除了您设置右下角但尝试使用左下角之外。将选项显式
添加到模块顶部。工作表(3).范围(左上角地址和“:”左下角地址)…
或工作表(3).范围(左上角,左下角).
尝试使用范围(左上角,左下角)
除了您设置右下角
之外,您正在尝试使用左下角
。将选项显式
添加到模块顶部。谢谢!左下角确实是一个输入错误,我的意思是右下角。地址为“:”两个范围之间只有一个逗号都有效。:D谢谢!事实上,左下角是一个打字错误,我的意思是右下角。地址为“:”,两个范围之间只有一个逗号都有效。:D