Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1412to1416
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

Formatierung an dynamische Tabellenlänge anpassen

Formatierung an dynamische Tabellenlänge anpassen
19.03.2015 14:23:55
D.
Hallo,
habe eine dynamische Tabelle (ich such mir aus einer Dropdown Liste ein Wort aus) die Tabelle (Zahlen/Liste der Namen) ändert sich je nach Wort.
Manchmal ist die Liste jedoch sehr lang, manchmal sehr kurz
Ich möchte diese Formatierung der Tabelle dann dynamisch anpassen aber hab keinen schimmer wie ich das realisieren soll.
Anbei eine Beispieldatei
https://www.herber.de/bbs/user/96492.xlsx

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formatierung an dynamische Tabellenlänge anpas
19.03.2015 14:36:11
Klaus
Hi,
kopier dir das Makro in ein Modul. Der Dropdownbox das Makro zuweisen.
Option Explicit Sub BlendeA() Dim r As Range Dim w As Range Dim rBlend As Range Set rBlend = Range("C11:C19") Application.ScreenUpdating = False rBlend.EntireRow.Hidden = False For Each r In rBlend If Len(r) = 1 Then If w Is Nothing Then Set w = r Else Set w = Union(w, r) End If End If Next r If Not w Is Nothing Then w.EntireRow.Hidden = True Application.ScreenUpdating = True End Sub Grüße,
Klaus M.vdT.

AW: Formatierung an dynamische Tabellenlänge anpas
19.03.2015 14:51:44
D.
Funktioniert einwandfrei.
Versuche nur noch selber zu verstehen, was das makro alles macht. Hast du evtl eine kurze ErkLàrung für den Teil:
rBlend.EntireRow.Hidden = False
Danke!

Anzeige
AW: Formatierung an dynamische Tabellenlänge anpas
19.03.2015 15:00:05
Klaus
Hi,
rBlend ist ein Bereich, den du festlegen kannst:
Set rBlend = Range("C11:C19")
Also wird aus der Variablen
rBlend.EntireRow.Hidden = False
die Zuweisung:
Range("C11:C19").EntireRow.Hidden = False
und davon die gesamte Zeile:
Rows("11:19").Hidden = False
Jetzt erkennst du, es wird Zeile 11:19 EINgeblendet.
Danach blende ich die Zeilen, die du nicht sehen willst, wieder AUS. Das "Union" sorgt dafür, dass als Gruppe alles auf einmal ausgeblendet wird.
Man könnte auch Zeilen-weise entscheiden und EIN oder AUS blenden. Dann währ der Code leichter verständlich, aber die Laufzeit währe länger - bei langen Listen merkt man das dann auch.
Grüße,
Klaus M.vdT.

Anzeige
AW: Formatierung an dynamische Tabellenlänge anpas
23.03.2015 11:24:29
Sioo
Hallo Klaus,
kannst du mir helfen. Möchte dein Macro erweitern. Zusätzlich zu den Spalten C11:C19 soll dann nochmal von C30:C39 das selbe getan werden (Reihen ein/ausblenden je nach Inhalt)
Habe es versucht selber zu ergänzen aber das klappt nicht.
Gruss!

AW: Formatierung an dynamische Tabellenlänge anpas
23.03.2015 11:24:41
Sioo
Hallo Klaus,
kannst du mir helfen. Möchte dein Macro erweitern. Zusätzlich zu den Spalten C11:C19 soll dann nochmal von C30:C39 das selbe getan werden (Reihen ein/ausblenden je nach Inhalt)
Habe es versucht selber zu ergänzen aber das klappt nicht.
Gruss!

AW: Formatierung an dynamische Tabellenlänge anpas
23.03.2015 14:54:35
Klaus
Hi Sioo,
Namen geändert?
Du hättest den Code natürlich einfach kopieren können, und im zweiten Makro das RANGE verändern. Aber um unnötiges kopieren zu ersparen, rufe das Makro einfach zweimal auf - jeweils mit einer eigenen Range-Zuweisung.
Sub StarteDiesesMakro()
Call BlendeA("C11:C19")
Call BlendeA("C30:C39")
End Sub
Sub BlendeA(rBlend As Range)
Dim r As Range
Dim w As Range
Application.ScreenUpdating = False
rBlend.EntireRow.Hidden = False
For Each r In rBlend
If Len(r) = 1 Then
If w Is Nothing Then
Set w = r
Else
Set w = Union(w, r)
End If
End If
Next r
If Not w Is Nothing Then w.EntireRow.Hidden = True
Application.ScreenUpdating = True
End Sub
Grüße,
Klaus M.vdT.

Anzeige
AW: Formatierung an dynamische Tabellenlänge anpas
19.03.2015 15:01:43
D.
Funktioniert 1a, danke!

AW: Formatierung an dynamische Tabellenlänge anpas
19.03.2015 15:02:32
D.
Sorry, ausversehen das Kontrollkästchen angeklickt.

erst die Werte mit INDEX(), dann Formatierung ...
19.03.2015 14:40:10
neopa
Hallo,
... wenn ich Dich richtig interpretiere, in C11 folgende Formel nach unten bis C20 kopieren und in den Formeln in E11:N21 einfach die Summierung vornehmen, wo in C dann "total" steht.
Project Cost Tracker

 C
11diam

Formeln der Tabelle
ZelleFormel
C11=WENN((C10="total")+(C10=""); "";WENN(ZEILE(A1)>ANZAHL2(INDEX(Lists!A:A;Lists!B2):Lists!A34); "Total";INDEX(Lists!A:A;Lists!B2+ZEILE(A1)+5)))

Bedingte Formatierungen der Tabelle
ZelleNr.: / BedingungFormat
C111. / Zellwert ist gleich =0Abc


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...
Anzeige

167 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige