我对VBA仍然很陌生,但我试图将从不同工作簿复制的行和列的选择粘贴到当前工作簿。我的问题是,当我尝试粘贴时出现错误,因为选择大于目标选择。下面的代码的一部分(我知道,可怕的,与选择):从可见单元格选择错误Excel VBA粘贴
dim i as long
Workbooks.Open Filename:="C:\Users\...\File1.xls"
Range("A15").Select
For i = 1 To n
ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[1],RC[2])"
ActiveCell.Offset(1, 0).Select
Next i
Range("Q15").Select
For i = 1 To n
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-16] ,'[file2.xlsm]DST'!C1:C18,1,0)"
ActiveCell.Offset(1, 0).Select
Next i
ActiveSheet.Range("$A$14:$Q$103").AutoFilter Field:=17, Criteria1:="#N/A"
Range("A1").End(xlDown).SpecialCells(xlCellTypeVisible).Copy
Windows("File2.xlsm").Activate
ThisWorkbook.Worksheets("sheet2").Activate
Range("B1").End(xlDown).Offset(1, -1).Select
'moves the active cell to the data end of column A
Debug.Print "Active cell is " & ActiveCell.Address(False, False)
'it puts the cursor correctly here, but it errors out after in the selection
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
基本上,这是这是一个系统导出文件(1),其中唯一的搜索关键词追加新的列代码的一部分由第二列和第三列组成,稍后在VLOOKUP公式中用于检查是否存在任何缺失的产品,如果存在,那么将在报告文件(2)中添加这些产品,并在数据末尾添加这些产品。列B用作列A具有公式(另一个CONCATENATE
,不能用于选择)。
如何使选择工作?