我有工作表1中从A列到M列的详细信息。
我需要从A列到M都实现网格线。
复杂的部分是,工作表1中有3个不同的表,其中我需要根据“使用范围”为所有这3个表分别实现网格线。
我有相同的宏,但是它只是通过为3个表实现网格线来工作。请参阅屏幕截图以获取输出。
答案 0 :(得分:0)
使用range.CurrentRegion属性隔离每个数据块。
dim i as long
with worksheets("sheet1")
if isempty(.cells(1, "A")) then
i = .cells(1, "A").end(xldown).row
else
i = 1
end if
do while i < .rows.count
with .cells(i, "A").currentregion
'do the border formatting here
'example:
With .Borders
.LineStyle = xlContinuous
.Color = vbRed
.Weight = xlThin
End With
debug.print .address(0, 0)
end with
i = .cells(i, "A").end(xldown).end(xldown).row
loop
end with
答案 1 :(得分:0)
以您的数据布局示例为例,您还可以使用SpecialCells()
对象的Range
方法
Dim area As Range
For Each area In ActiveSheet.UsedRange.SpecialCells(XlCellType.xlCellTypeConstants).Areas
With area.Borders
.LineStyle = xlContinuous
.Color = vbBlack
.Weight = xlThin
End With
Next