簡體   English   中英

在 vba 腳本中包含單元格邊界以獲取動態范圍

[英]Including the cell borders in a vba script for dynamic range

我的代碼應該將動態數據集從 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

但是即使我指定了工作表名稱,只有當我在特定工作表中時才會出現邊框。 此外,繪制的邊框不一致,並且未應用於 sheet4 的整個范圍

將不勝感激任何幫助。 謝謝。

您可能正在嘗試做這樣的事情(工作表的所有實例都需要限定)

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM