【问题标题】:VBA AutoFill adjacent dynamic column results in error?VBA AutoFill 相邻动态列导致错误?
【发布时间】:2018-12-05 13:37:20
【问题描述】:

我正在尝试自动填充动态列和相邻列,但出现错误。尝试了很多技巧,但没有任何效果。感谢您的帮助

Dim Column As Integer
Column = Workbooks("Outbound Month").Worksheets("Summary").Range("A1", Range("A1").End(xlToRight)).Columns.Count + 1

Workbooks("Outbound Month").Worksheets("Summary").Activate
ActiveSheet.Range("W1:W39").AutoFill Destination:=Range(Range(Cells(1, Column), Cells(39, Column)), Type:=xlFillDefault)

【问题讨论】:

  • 请描述一个错误。

标签: excel vba range cell autofill


【解决方案1】:

相邻与最后一列

您的AutoFill 没有做任何事情,所以我只使用了Copy

相邻

相邻右侧总是表示下一个右列,在这种情况下为列X

Sub AdjacentToTheRightColumn()

  Const cWBName As String = "Outbound Month"
  Const cWsName As String = "Summary"
  Const cRange As String = "W1:W39"

  With Workbooks(cWBName).Worksheets(cWsName)
    .Range(cRange).Copy .Range(cRange).Offset(0, 1)
  End With

End Sub

最后

最后一列之后ONLY表示X列,IFW是最后一列。

Sub AfterLastColumn()

  Const cWBName As String = "Outbound Month"
  Const cWsName As String = "Summary"
  Const cRange As String = "W1:W39"

  Dim LastColumn As Integer

  With Workbooks(cWBName).Worksheets(cWsName)
      LastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column
      .Range(cRange).Copy .Range(cRange) _
          .Offset(0, LastColumn - Range(cRange).Column + 1)
    End With

End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-31
    • 1970-01-01
    • 2011-05-24
    相关资源
    最近更新 更多