ich ein einfaches Stück Code haben, wie unten dargestellt:Laufzeitfehler 9 - außerhalb des zulässigen Bereichs Tiefstellung, wenn ein seet zu einem neuen wrokbook Kopieren
Private Sub btn_conact_Click()
Dim projectref As String
Dim savelocation As String
Dim projectSearchRange As Range
Dim LastRow As Integer
'set search value (porject key - unique)
projectref = cmb_Project.Value
Application.ScreenUpdating = False
'find the project reference in the tracking spreadsheet
Sheets("Project Tracking").Activate
Set projectSearchRange = Range("A:A").Find(projectref, , xlValues, xlWhole)
LastRow = projectSearchRange.Row
'file directory to save the new workbook in
savelocation = Cells(LastRow, 5).Value
'template for the contact list
Sheets("Contact List").Activate
Cells(7, 3).Value = projectref
'create new workbook
Set newWorkbook = Workbooks.Add
With newWorkbook
.Title = "Contact List for Project" & projectref
.SaveAs Filename:=savelocation & "/" & projectref & "Contact_List.xlsx"
End With
'Windows("Project tracker spreadsheet VBA").Activate
Sheets("Contact List").Copy Before:=Workbooks(projectref & "Contact_List.xlsx").Sheets("Sheet1") 'runtime error 9: subscript out of range
Windows(projectref & " Contact_List.xlsx").Activate
Application.ScreenUpdating = True
End Sub
Wie man sehen kann, erhalte ich einen Laufzeitfehler auf der 4. letzte Zeile Code, die wirklich eine ziemlich wichtige Linie ist ...
Meine Frage ist, kann jemand sehen, wo ich möglicherweise einen Fehler gemacht haben könnte, die diesen Fehler verursachen würde? erstellt und speichert die neue Arbeitsmappe erfolgreich am angegebenen Speicherort, fällt jedoch beim Versuch, das erforderliche Arbeitsblatt aus der alten Arbeitsmappe (Projekt-Tracker-Arbeitsmappe VBA) in das neue Arbeitsblatt, das mit diesem Code erstellt wurde, zu kopieren.
Warum haben Sie diese Zeile 'Windows-Kommentar gesetzt ("Projekt-Tracker-Tabelle VBA") Activate'.? Entfernen Sie das einfache Anführungszeichen vor dieser Zeile in Ihrem Code. – sn152
Wie heißt das "alte" Arbeitsbuch? Wenn es "Project Tracker Spreadsheet VBA.xlsm" ist, dann sollten Sie 'Workbooks (" Project Tracker Tabellenkalkulation VBA.xlsm ") verwenden. Sheets (" Kontaktliste "). Kopieren vor: = Arbeitsmappen (projectref &" Contact_List.xlsx ") .Sheets (" Sheet1 ")' – YowE3K