私はまだ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)、ユニークな検索キーに新しい列を追加して、コードの一部です。 2番目と3番目の列で構成され、後でVLOOKUP式で欠損した製品があるかどうかを確認し、存在する場合は、レポートファイル(2)に追加されます。列Bは、列Aが数式(選択のために使用できない別のCONCATENATE
)を持つために使用されます。
どのようにして選択作業を行うことができますか?