【问题标题】:AutoFill method in Range class errorRange 类错误中的 AutoFill 方法
【发布时间】:2017-01-22 08:17:52
【问题描述】:

我正在尝试在 VBA 中创建自动填充功能,但无法使其工作。我收到错误消息:Range 类错误中的 AutoFill 方法。有人可以向我解释为什么我不能让它工作,或者更好的是让它工作的 VBA 代码。提前致谢,请参阅下面的代码:(代码只是更大代码的一部分,我很确定 SourceRange 或 FillRange 没有问题,我在行上收到错误:SourceRange.AutoFill Destination:=FillRange

Set SourceRange = Worksheets("Sheet2").Range(ActiveCell.Offset(-1, 0), ActiveCell.Offset(-1, 0))
Set FillRange = Worksheets("Sheet2").Range(Selection, ActiveCell.Offset((Lenght1.Count), 0))
SourceRange.AutoFill Destination:=FillRange

【问题讨论】:

  • 在您设置好msgboxSourceRangeFillRange 后立即尝试。你得到预期值了吗?
  • @Marcus Forsberg 在下面测试我的答案,只要Lenght1.Count 在您的代码中得到一个数字,它就可以工作
  • @Marcus Forsberg 你试过我下面的代码了吗,它有效吗?

标签: vba excel range autofill


【解决方案1】:

建议,最好避开ActiveCellSelection;尝试改用Range("B1")(例如)或Cells(1,"B")

Set SourceRange = Worksheets("Sheet2").Range(ActiveCell.Offset(-1, 0).Address & "," & ActiveCell.Offset(-1, 0).Address)
Set FillRange = Worksheets("Sheet2").Range(Selection.Address & "," & ActiveCell.Offset((Lenght1.Count), 0).Address)

SourceRange.AutoFill Destination:=FillRange

编辑 1

Set SourceRange1 = Worksheets("Blad1").Range("A1:A2")

' you need to set the Range from A1
Set FillRange1 = Worksheets("Blad1").Range("A1:A10")

SourceRange1.AutoFill Destination:=FillRange1

【讨论】:

  • 感谢您的回答!我尝试如下进行简单的自动填充,但仍然出现相同的错误。让我觉得有某种无法实现的附加功能? Set SourceRange1 = Worksheets("Blad1").Range("A1:A2") Set FillRange1 = Worksheets("Blad1").Range("A4:A10") SourceRange1.AutoFill Destination:=FillRange1
  • @MarcusForsberg 查看我编辑的答案,您需要将FillRange1 设置为 Range("A1:A10")
猜你喜欢
  • 1970-01-01
  • 2019-12-15
  • 1970-01-01
  • 1970-01-01
  • 2020-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多