【发布时间】:2018-10-21 23:15:05
【问题描述】:
我对 VBA 非常熟悉,所以这是一个非常奇怪的问题。我正在尝试在导入数据后自动填充单独的列范围。一切正常,A:C 列自动填充正确,但 AT 列的自动填充会导致整个列被清除。我已经确定正确的公式在单元格 AT2 中。我可能只是在代码中有一个愚蠢的错误,但我很难过。任何帮助将不胜感激。
Dim wbCopy As Workbook
Dim wsCopy As Worksheet, wsPaste As Worksheet
Dim FileCopy As String
Dim rgCopy As Range, rgPaste As Range
Dim lRowPaste As Long
FileCopy = "C:\Users\Nick\File.csv"
Set wbCopy = Workbooks.Open(FileCopy)
Set wsCopy = wbCopy.Sheets(1)
Set wsPaste = Workbooks("Stats").Sheets("Logs")
Set rgCopy = wsCopy.Range("A1").CurrentRegion
Set rgCopy = rgCopy.Resize(rgCopy.Rows.Count - 1).Offset(1, 1)
Set rgPaste = wsPaste.Range("D2")
Set rgPaste = rgPaste.Resize(rgCopy.Rows.Count, rgCopy.Columns.Count)
rgPaste.Value2 = rgCopy.Value2
wbCopy.Close savechanges:=False
lRowPaste = wsPaste.Range("F" & Rows.Count).End(xlUp).Row
wsPaste.Range("A2:C" & lRowPaste).FillDown '-----> DOES WORK
wsPaste.Range("AT2").AutoFill Destination:=wsPaste.Range("AT2:AT" & lRowPaste) '-----> DOES NOT WORK
wsPaste.Range("AT2:AT" & lRowPaste).FillDown '-----> DOES NOT WORK
【问题讨论】: