自动填充范围内的所有单元格都设置为无Excel

时间:2017-07-06 17:02:43

标签: excel vba

所以我现在尝试在vba中使用autofill方法,在一个设置为变量的范围内。我知道您从自动填充的单元格范围必须包含在目标中。所以,我这样做。然而,令我惊讶的是,该范围内的所有细胞都被设置为空。

以下是代码:

          Dim table2Range As Range
          Dim table2Range2 As Range
          Dim table2Range3 As Range
          Dim tableholder As Range


          Set table2Range2 = Range("Y54").End(xlToRight).Offset(0, 1)   
          Set table2Range3 = Range("Y77").End(xlToRight).Offset(0, 1)
          Set table2Range = Range(table2Range2, table2Range3)
          Set tableholder = Range("y54", table2Range3)
          tableholder.Select

             table2Range.AutoFill Destination:=Selection    'This is setting all my cells to nothing for some reason

这是之前的&屏幕截图后:BeforeAfter

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

您的自动填充代码行应为:

SourceRange.AutoFill Destination:FillRange  

看起来您的“table2Range”是源,它与您的填充范围重叠。即:
 .End(xlToRight)。Offset(0,1)将设置从Y54到同一行最右边单元格的范围。

您可以先使用硬编码编辑源范围(即范围(“Y54:Z77”),看看它是否适合您,然后从那里开始工作

例如(尝试使用新工作簿):

Sub example()
Set SourceRange = Worksheets("Sheet1").Range("A1:B1")
Set fillRange = Worksheets("Sheet1").Range("A1:G1")
SourceRange.AutoFill Destination:=fillRange
End Sub  

在单元格(A1)中输入“1”,在单元格(B1)中输入“2”并运行代码。