Excel 在vba脚本中包含动态范围的单元格边框

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

我的代码应该将动态数据集从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").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