VBA AutoFill 相邻动态列导致错误?
Posted
技术标签:
【中文标题】VBA AutoFill 相邻动态列导致错误?【英文标题】:VBA AutoFill adjacent dynamic column results in error? 【发布时间】: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)
【问题讨论】:
请描述一个错误。 【参考方案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
【讨论】:
以上是关于VBA AutoFill 相邻动态列导致错误?的主要内容,如果未能解决你的问题,请参考以下文章
Excel 或 VBA 问题? Range.Autofill 方法有时会从我不想要的地方开始