Registriert seit: 18.01.2021
Version(en): 2013
18.01.2021, 09:28
(Dieser Beitrag wurde zuletzt bearbeitet: 18.01.2021, 09:29 von tp93wtk.)
Hallo, ich habe eine Tabelle mit 100 Spalten. Um es übersichtlicher zu gestalten, habe ich 80 Spalten ausgeblendet und möchte nun per Schaltfläche immer die nächsten 4 Spalten einfügen. Wie geht das? Ich hoffe Ihr könnt mir helfen.
Als versuch habe ich immer den nächsten 4 Spalten einen Namen definiert, vielleicht gibt es hierüber eine Möglichkeit den "Namen" einzublenden.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
18.01.2021, 09:34
(Dieser Beitrag wurde zuletzt bearbeitet: 18.01.2021, 09:35 von schauan.)
Hallöchen, Zitat:Als versuch habe ich immer den nächsten 4 Spalten einen Namen definiert Wie hast Du das denn gemacht? VBA oder Excel4? Wenn ich in die Spalte AC klicke, ist beim Namen AD:AG hinterlegt bzw. Ergebnis der Excel4 - Funktion?
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 18.01.2021
Version(en): 2013
Hallo, ich habe beispielsweise die Spalten A:D markiert und im Namensfeld den Namen "Test" eingegeben.
Sub Test() Application.Goto Reference:="Test" Selection.EntireColumn.Hidden = False End Sub
Jetzt blendet er mir die 4 Spalten ein, das funktioniert auch. Jedoch möchte ich das nicht für 80 weitere Spalten machen, und suche daher einen Automatismus oder eine Msg-Box, die das übernimmt.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen, ich schreibs mal anders. Erkennst Du die nächsten 4 Spalten anhand der Spalte der Zelle, die aktiv ist? Wenn ich z.B. in A1 bin schaut das Programm nur in B, C, D und E und blendet diese ein? Ist z.B. nur E ausgeblendet, würde auch nur E eingeblendet und nicht noch in F usw. geschaut? Oder, Zusatzfrage, soll das Programm automatisch schauen, wo die erste ausgeblendete Spalte ist und dann diese und die folgenden 3 Spalten einblenden? Wenn ich also in A bin und die ausgeblendeten Spalten in E beginnen, wird E,F,G und H eingeblendet? Oder, kann der Fall eintreten dass mal zwischen zwei eingeblendeten Spaten weniger als 4 Spalten ausgeblendet sind? Soll das Programm dann nachschauen, ob weitere Spalten ausgeblendet sind und diese dann einblenden? Es sind z.B. die Spalten E, F, X und Z ausgeblendet. Soll das Programm dann diese 4 einblenden oder nur in E,F,G und H prüfen und reagieren? und ein Hinweis: Du kannst in einer Schleife auch prüfen, ob Hidden gesetzt ist. Dann nimmst Du noch einen Zähler, um die Anzahl der eingeblendeten Spalten zu prüfen. Im Prinzip so: Code: For Icnt=1 to Columns.Count 'pruefen, ob Spalte ausgebelndet ist If Cells(1,iCnt).EntireColumn.Hidden = True Then kCnt=kCnt+1 'Spaltenzaehler hochsetzen Cells(1,iCnt).EntireColumn.Hidden = False 'Spalte einblenden If kCnt=4 Then Exit For 'Bei Spaltenzaehler 4 Schleife verlassen 'Ende pruefen, ob Spalte ausgebelndet ist End If Next
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 18.01.2021
Version(en): 2013
Zitat:Oder, Zusatzfrage, soll das Programm automatisch schauen, wo die erste ausgeblendete Spalte ist und dann diese und die folgenden 3 Spalten einblenden?
Wenn ich also in A bin und die ausgeblendeten Spalten in E beginnen, wird E,F,G und H eingeblendet? genau das ist mein Wunsch :)
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
18.01.2021, 10:19
(Dieser Beitrag wurde zuletzt bearbeitet: 18.01.2021, 10:20 von schauan.)
Hallöchen, dann geht es kürzer  Code: Sub einblenden() Dim iCnt% For iCnt = 1 To Columns.Count 'pruefen, ob Spalte ausgebelndet ist If Cells(1, iCnt).EntireColumn.Hidden = True Then Cells(1, iCnt).Resize(1, 4).EntireColumn.Hidden = False '4 Spalten einblenden Exit For 'Schleife verlassen 'Ende pruefen, ob Spalte ausgebelndet ist End If Next End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• tp93wtk
Registriert seit: 18.01.2021
Version(en): 2013
Genial, tausend Dank, genau das was ich gesucht habe :) Kannst du mir das auch noch für Zeilen umschreiben? Dass jeweils nur die nächste ausgeblendete Zeile eingeblendet wird?
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
dann - ersetze einfach Column durch Row (beachte die "s" am Wortende bleiben) - ersetze % durch & - lösche ".Resize(1, 4)"
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 18.01.2021
Version(en): 2013
Sub einblendenZeile() Dim iCnt& For iCnt = 1 To Rows.Count If Cells(1, iCnt).EntireRow.Hidden = True Then Cells(1, iCnt).EntireRow.Hidden = False Exit For End If Next End Sub Hab den Code angepasst, allerdings läuft er nicht
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hi, sorry, musst bei Cells ... noch die beiden Klammerinhalte vertauschen. Der Schleifenzähler ist dann an erster Stelle und die 1 an zweiter  Cells(iCnt, 1)
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• tp93wtk
|