27.05.2021, 10:03
Huhu zusammen,
ich habe folgenden Code:
Es gibt also 3 Blätter die im Folgenden gefiltert werden sollen:
Bei Blatt1 tut er das auch wie gewünscht, wenn er dann aber zu Blatt 2 springt wirft er einen Laufzeitfehler 9 "Index außerhalb des gültigen Bereichs" bei Sheets(strWorksheet_Blatt2).Select
Die Blätter sind richtig benannt. Kann es sein dass man nicht mehrere Blätter strWorkseet nennen kann?
ich habe folgenden Code:
Code:
Sub Copy_paste_test()
Dim arrCodes As Variant
Dim arrABC As Variant
Dim k As Variant
Dim strFileName As String
Dim strPath As String
Dim strWorksheet_Blatt1 As String
Dim strWorksheet_Blatt2 As String
Dim strWorksheet_Blatt3 As String
Dim strMasterFileName As String
Es gibt also 3 Blätter die im Folgenden gefiltert werden sollen:
Zitat:Else
'Arbeitsmappe speichern als Kopie
strFileName = "CC_Data_" & dictCodes(k) & ".xlsm" '
ActiveWorkbook.SaveCopyAs Filename:=strPath & strFileName
Workbooks.Open strPath & strFileName
Workbooks(strFileName).Activate
'Filtern der Data in Arbeitsblatt "Blatt1"
Sheets(strWorksheet_Blatt1).Select
ActiveSheet.Range("$A$11:$BD$50000").AutoFilter Field:=1, Criteria1:="<>" & k, Operator:=xlFilterValues
Rows("12:12").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
ActiveSheet.Range("$A$11:$BD$11").AutoFilter Field:=1
'Filtern der Data in Arbeitsblatt "Blatt2"
Sheets(strWorksheet_Blatt2).Select
ActiveSheet.Range("$A$11:$BD$50000").AutoFilter Field:=1, Criteria1:="<>" & k, Operator:=xlFilterValues
Rows("12:12").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
ActiveSheet.Range("$A$11:$BD$11").AutoFilter Field:=1
'Filtern der Data in Arbeitsblatt "Blatt3"
Sheets(strWorksheet_Blatt3).Select
ActiveSheet.Range("$A$11:$BD$50000").AutoFilter Field:=1, Criteria1:="<>" & k, Operator:=xlFilterValues
Rows("12:12").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
ActiveSheet.Range("$A$11:$BD$11").AutoFilter Field:=1
'Speichern und schließen der Datei
Workbooks(strFileName).Save
Workbooks(strFileName).Close
Workbooks(strMasterFileName).Activate
End If
Bei Blatt1 tut er das auch wie gewünscht, wenn er dann aber zu Blatt 2 springt wirft er einen Laufzeitfehler 9 "Index außerhalb des gültigen Bereichs" bei Sheets(strWorksheet_Blatt2).Select
Die Blätter sind richtig benannt. Kann es sein dass man nicht mehrere Blätter strWorkseet nennen kann?