Excel 在vba脚本中包含动态范围的单元格边框
我的代码应该将动态数据集从Sheet1和Sheet2分别复制到Sheet3和4。 复制和格式化完成后,我需要将边框应用于动态范围 这就是我的脚本的样子Excel 在vba脚本中包含动态范围的单元格边框,excel,vba,Excel,Vba,我的代码应该将动态数据集从Sheet1和Sheet2分别复制到Sheet3和4。 复制和格式化完成后,我需要将边框应用于动态范围 这就是我的脚本的样子 Sub transfer() Dim Lastrow As Integer Dim Lastrow1 As Integer Dim row1 As Long Dim row2 As Long Dim range1 As Range Dim range2 As Range Lastrow = Worksheets("Sheet1").Cell
Sub transfer()
Dim Lastrow As Integer
Dim Lastrow1 As Integer
Dim row1 As Long
Dim row2 As Long
Dim range1 As Range
Dim range2 As Range
Lastrow = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).row
Lastrow1 = Worksheets("Sheet3").Cells(Rows.Count, 1).End(xlUp).row
Debug.Print Lastrow
Debug.Print Lastrow1
Worksheets("Sheet1").Range("B2:G" & Lastrow).copy Worksheets("Sheet2").Range("B2")
Worksheets("Sheet3").Range("B2:H" & Lastrow1).copy Worksheets("Sheet4").Range("B2")
With Worksheets("Sheet2")
row1 = Worksheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).row
Debug.Print row1
Set range1 = Worksheets("Sheet2").Range("B1:G" & row1)
With range1.Borders
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 0
.TintAndShade = 0
End With
End With
With Worksheets("Sheet4")
row2 = Worksheets("Sheet4").Cells(Rows.Count, 1).End(xlUp).row
Debug.Print row2
Set range2 = Worksheets("Sheet4").Range("B1:H" & row2)
With range2.Borders
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 0
.TintAndShade = 0
End With
End With
End Sub
但是,即使我指定了sheetname,也不只是当我在特定的工作表中时才会出现边框。
此外,绘制的边框不一致,并且未应用于图纸4的整个范围
非常感谢您的帮助。
谢谢。您可能正在尝试这样做(工作表的所有实例都需要经过鉴定)
Range(“B1:H”&row2)
指的是活动工作表…@braX我已经编辑了代码,但是边框填充得模糊不清。如果我运行脚本,第4页将填充fine,但第2页的边框将填充Sheet4的范围逐步完成代码,并验证每次获得lastrow变量之一时,您都得到了预期的结果。我检查了变量的值,它们都有不同的值(32和37)但是,使用SHEET4@braX的配置,两张图纸的边界都在绘制中
With Worksheets("Sheet4")
row2 = .Cells(.Rows.Count, 1).End(xlUp).row
Set range2 = .Range("B1:H" & row2)
With range2.Borders
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 0
.TintAndShade = 0
End With
End With