Ich bin immer noch neu in VBA, aber ich versuche, eine kopierte Auswahl von Zeilen und Spalten aus einer anderen Arbeitsmappe in die aktuelle Arbeitsmappe einzufügen. Mein Problem ist, dass es beim Einfügen fehlschlägt, nehme ich an, weil die Auswahl größer als die Zielauswahl ist. Im Folgenden Teil des Codes (ich weiß, schrecklich und mit wählt):Excel VBA Einfügen von sichtbaren Zelle Auswahlfehler
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
Im Grunde ist dies Teil eines Codes, der eine neue Spalte in einer System-Exportdatei (1) ist das Hinzufügen, wo ein einzigartiger Suchschlüssel Die zweite und dritte Spalte wird später in einer VLOOKUP-Formel verwendet, um zu prüfen, ob fehlende Produkte vorhanden sind. Wenn dies der Fall ist, werden diese in der Berichtsdatei (2) am Ende der vorhandenen Daten hinzugefügt. Spalte B wird verwendet, da Spalte A eine Formel hat (eine andere CONCATENATE
, die nicht für die Auswahl verwendet werden kann).
Wie kann ich die Auswahl durchführen?