[VBA] Nochmal ein Array Problem - Worksheet.delete
#1
Hi,

wo liegt der Fehler?

Code:
        If Worksheets("ProtokollIntern").Visible = xlSheetHidden Then
    arrH = Array("Auswertung", "Protokoll")
    Else
    arrH = Array("Auswertung", "Protokoll", "ProtokollIntern")
    End If
Worksheets(arrH).Select
       With ActiveWorkbook
               For Each wksSheet In Worksheets
       If wksSheet.Name <> Worksheets(arrH) Then wksSheet.Delete
       Next

Ich möchte, dass er alle Blätter AUßER den jeweiligen Array löscht.......
Top
#2
Hallo,

ungetestet

Code:
With ActiveWorkbook
               For Each wksSheet In Worksheets
'       If wksSheet.Name <> Worksheets(arrH) Then wksSheet.Delete
      
         If IsNumeric(Application.WorksheetFunction(wksSheet.Name, arrH, 0)) Then
        
         Else
            wksSheet.Delete
         End If
       Next
Gruß Stefan
Win 10 / Office 2016
Top
#3
Error: 438 Objekt unterstützt diese Eigenschaft oder Methode nicht

Huh
Top
#4
Hi,

vllt hilft Dir sowas weiter:
Code:
Sub checkWksNameInWorksheets()
    Dim wks As Worksheet
    For Each wks In ThisWorkbook.Worksheets
        Debug.Print wks.Name; Application.Match(wks.Name, Array("Tabelle1", "Tabelle2", "Tabelle5"), 0)
    Next wks
End Sub
Top
#5
Hallo,

sorry, das Match vergessen

Code:
If IsNumeric(Application.WorksheetFunction.Match(wksSheet.Name, arrH, 0)) Then
Gruß Stefan
Win 10 / Office 2016
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste