Microsoft Excel

Herbers Excel/VBA-Archiv

maximale Range-Elemente

Betrifft: maximale Range-Elemente von: volti
Geschrieben am: 18.03.2008 14:23:23

Hallo Experten,

ich führe in meiner Tabelle eine eigene Gruppierung oder besser Selektierung durch. Das sieht so aus, dass ich über 5 Buttons jeweils alle oder nur bestimmte Zeilen einblende.

Da ich bis zu tausend unterschiedliche Reporte erstelle, können die Zeilen nicht im Makro fest drin stehen; also ermittle ich sie beim Herstellen eines jeden Berichts und packe die Info in fünf Felder im Steuerungssheet.

Die Daten werden foldendermaßen in Vorgabefelder abgelegt:
Feld1 mit Namen SUMBABS=>A1,A15,A30
Feld2 mit Namen BABS=>A1,A5,A15,A25,A30....
usw.

Mit dieser Sequenz werden die Zeilen entsprechend der Vorgabe aus einem der fünf Vorgabefelder ein/ausgeblendet:


Range(Rows(1), Rows(MaxZeilenanzahl)).Select
'erstmal alles ausblenden  
Selection.EntireRow.Hidden = True 
Range(Sheets("Steuerung").Range("SUMBABs")).Select
Selection.EntireRow.Hidden = False



Mir scheint jedoch, dass wenn ich mehr als 55 Angaben in einem Vorgabefeld habe, dass dann Excel mit einem Fehler 1004 abbricht.
Kann das sein, dass der Range-Befehl nur 55 Elemente haben darf?
Weiß das jemand?

Wenn ja, müsste ich mir was anderes ausdenken.

viele Grüße
Karl-Heinz


  

Betrifft: AW: maximale Range-Elemente von: Rudi Maintaire
Geschrieben am: 18.03.2008 14:48:55

Hallo,
mach's so:

Sub tt()
   Dim i As Integer, rngUnion As Range, vntRange
   Cells.EntireRow.Hidden = False
   vntRange = Split(Sheets("Steuerung").Range("SUMBABs"), ",")
   Set rngUnion = Range(vntRange(0))
   For i = 1 To UBound(vntRange)
      Set rngUnion = Union(rngUnion, Range(vntRange(i)))
   Next
   rngUnion.EntireRow.Hidden = True
End Sub


Und vermeide SELECT.

Gruß
Rudi

Eine Kuh macht Muh, viele Kühe machen Mühe


  

Betrifft: AW: maximale Range-Elemente von: volti
Geschrieben am: 18.03.2008 15:13:16

Hallo Rudi,

vielen Dank für den super funktionierenden Tipp.

Na ja und das mit dem Zwischen-Select. Da hätte ich selbst dran denken müssen. Mach' ich meistens auch so, aber aus Faulheit nehme ich viel auf und bearbeite das dann und dann bleibt sowas oft mal stehen.


viele Grüße
KH


  

Betrifft: AW: maximale Range-Elemente von: Daniel
Geschrieben am: 18.03.2008 17:06:23

HI
nur so als Info:
der String innerhalb der Range-Funktion darf maximal 256 Zeichen lang sein, ist er länger, kommt der Fehler.
bei 4-5 Zeichen pro element sind das dann die 55 elemente.

Gruß, Daniel


  

Betrifft: AW: maximale Range-Elemente von: volti
Geschrieben am: 19.03.2008 08:10:18

Danke,

diese Erklärung passt besser ins Bild als 55! Einträge.

viele Grüße
K´H