Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1612to1616
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitfehler 9 bei Array Select

Laufzeitfehler 9 bei Array Select
21.03.2018 11:19:43
Erwin
Hi,
zum Gruppieren von Excel-Tabellenblättern habe ich folgenden Code geschrieben:
Sub Gruppierung_K()
Dim Liste As Variant
Dim ListeKompl As Variant
Dim ListeArr()
ListeArr = Array()
Dim TabName As String
Dim m As Integer
Dim Zaehler As Integer
For m = 1 To Worksheets.Count
TabName = Worksheets(m).Name
TabName = Right(TabName, 2)
If TabName Like " K" Then
Liste = Worksheets(m).Name
ListeKompl = ListeKompl & Chr(34) & Liste & Chr(34) & ", "
Zaehler = Zaehler + 1
End If
Next m
ListeKompl = Left(ListeKompl, Len(ListeKompl) - 2)
ListeArr = Array(ListeKompl)
Sheets(ListeArr).Select
End Sub
Die letzte Zeile Sheets(ListeArr).Select führt zum Laufzeitfehler 9.
Wenn ich Select mit dem Inhalt der Variablen ListeKompl ausführe funzt es.
Wie komme ich weiter?

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 9 bei Array Select
21.03.2018 11:29:18
ChrisL
Hi Erwin
So?
Sub t()
Dim ws As Worksheet, i As Integer
For Each ws In ThisWorkbook.Worksheets
If Right(ws.Name, 2) Like " K" Then
If i = 0 Then
ReDim ar(0)
Else
ReDim Preserve ar(i)
End If
ar(i) = ws.Name
i = i + 1
End If
Next ws
Sheets(ar).Select
End Sub
cu
Chris
AW: Laufzeitfehler 9 bei Array Select
21.03.2018 11:38:01
Daniel
Hi
da erzeugt du aber nicht das gewünschte Array.
du meinst wahrscheinlich:
ListeArr = Split(ListeKompl, ", ")
Wobei ich hier die Selektion der Blätter direkt in der Schleife machen würde.
hierzu setzt man beim Selektieren den zweiten Parameter = FALSE
dann wird das neu selektierte Blatt der bestehenden Blattselektion hinzugefügt.
das ganze lässt sich damit etwas kürzer gestalten:
Sub Gruppierung_K()
Dim SelArt As Boolean
Dim m As Integer
Dim Zaehler As Integer
SelArt = True
For m = 1 To Worksheets.Count
If Worksheets(m).Name Like "* K" Then
Worksheets(m).Select SelArt
SelArt = False
Zaehler = Zaehler + 1
End If
Next m
End Sub
Gruß Daniel
Anzeige
AW: Laufzeitfehler 9 bei Array Select
21.03.2018 11:53:32
Erwin
Super Jungs,
jetzt weiß ich was falsch war und wie es vieeel einfacher geht.
Danke!!!:-)
Mfg Erwin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige