Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1172to1176
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

Spaltenzahl in Array

Spaltenzahl in Array
Lorenz
Hallo zusammen
in jeweils B5 C5 G5 Z5 steht eine "1".
Um das schnellere Array nutzen zu können, sollte im Array stehen "Arr(2,3,7,26)".
Schneller versus Array u. Schleife.
Ich will es in der Art Columns(Arr).visible=xlhidden verwenden.
Hat jemand nen TIPP?
Danke Lorenz

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Spaltenzahl in Array
23.08.2010 15:58:16
JogyB
Hallo Lorenz,
Union(Columns(2), Columns(3), Columns(7), Columns(26)).EntireColumn.Hidden = True
Gruß, Jogy
AW: Spaltenzahl in Array
23.08.2010 16:16:47
Lorenz
Hallo Jogi
So einfach habe ich es mir nicht gemacht. Ich habe eine Art Einstellungsblatt erstellt. Dort wird in der besagten Zeile in der Spalte welche in anderen Blättern ausgeblendet werden soll jeweils eine "1" eingetragen. Diese einsen erstrecken sich auf bis zu zweihundert Spalten. Das ist der Grund, warum ich annahm, daß ein Array die günstigere Variante darstellte. (das mit den 4 Spalten war nur ein kleines Beispiel meinerseits)
Das 1,3,7,26 sollte daher automatisch generiert werden. Ich hoffe es ist verständlich rübergekommen.
Grüße Lorenz
Anzeige
AW: Spaltenzahl in Array
23.08.2010 16:34:07
JogyB
Hallo Lorenz,
dann eine kurze Nachfrage: Wie soll das dann ablaufen? Startest Du das Makro im Einstellungsblatt und es werden dann die Spalten in den anderen Blättern ausgeblendet oder startest Du das Makro in dem Blatt, in dem die Spalten ausgeblendet werden sollen?
Wenn ersteres der Fall ist, wie legst Du fest, in welchen Blättern ausgeblendet werden soll?
Pinzipiell läuft es aber auf genau dieselbe Art ab, nur kommt dann noch eine Schleife davor.
Gruß, Jogy
AW: Spaltenzahl in Array
23.08.2010 16:59:38
Lorenz
Hallo Jogi
Weder noch
Das Makro wird aus einer UF aufgerufen. Der Makroaufruf ist nur ein Teil einer weiteren Prozedur.
Beim Aufruf des Makros wird nur zum auslesen der "1ser" (also die Spaltenbereiche, wo eine "1") auf das Einstellungsblatt zugegriffen.
Grüsse
Lorenz
Anzeige
AW: Spaltenzahl in Array
23.08.2010 17:14:51
JogyB
Hallo Lorenz,
das Problem ist, dass die Gefahr besteht, dass ich jetzt was bastle, was zu Deinem restlichen Code nicht passt. Aber mal als Ansatz:
Function SpaltenAuslesen() As Range
Dim spAlte As Long
Const queLLe = "Einstellungen" ' hier Name oder Nummer des Einstellungsblatts
Const zeiLe = 5 ' Die Zeile, in der die Nullen oder Einsen stehen
' ThisWorkbook passt natürlich nur, wenn es in derselben Arbeitsmappe
' wie das Makro ist
With ThisWorkbook.Sheets(queLLe)
For spAlte = 1 To .Cells(zeiLe, Columns.Count).End(xlToLeft).Column
If .Cells(zeiLe, spAlte) = 1 Then
If SpaltenAuslesen Is Nothing Then
Set SpaltenAuslesen = .Cells(zeiLe, spAlte)
Else
Set SpaltenAuslesen = Union(SpaltenAuslesen, .Cells(zeiLe, spAlte))
End If
End If
Next
End With
End Function
' Und jetzt noch als Beispiel, wie Du auf anderen Blättern ausblendest
Sub test()
Dim verstBer As Range
' bereich mit obiger Funktion auslesen
Set verstBer = SpaltenAuslesen
With Worksheets("Tabelle2")
' Erstmal alles einblenden
.Rows(1).EntireColumn.Hidden = False
' Und dann die gewünschten Spalten raus
If Not verstBer Is Nothing Then _
.Range(verstBer.Address).EntireColumn.Hidden = True
End With
End Sub

Gruß, Jogy
Anzeige
AW: Spaltenzahl in Array
23.08.2010 17:29:12
Lorenz
Hallo Jogi
von wegen gefahr?!?
zu: und jetzt noch ein Beispiel.
genau dieses Beispiel ist das was ich suchte.
Danke vielmals für die "Bastel-Mühe"
& Grüße Lorenz

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige