Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: If Else Schleife Bereich/Abhängigkeit definieren

If Else Schleife Bereich/Abhängigkeit definieren
28.07.2019 22:30:43
Moritz
Guten Abend, ich bin grade dabei mich immer tiefer in vba einzuarbeiten - leider dennoch ein Laie was If Else angeht.
Folgendes Problem, ich habe eine Tabelle, wenn dort Zeilen ausgeblendet werden (ab Zeile 18 bis 117) sollen entsprechend im anderen Tabellenblatt Spalte 1-4 (Zeile 18 ausgeblendet), 5 - 8 (Zeile 19 ausgeblendet) usw...
Grundlage dafür war bisher folgende Funktion:
If Sheets("Verteilung").Rows(18).Hidden = True Then
For spalte = 1 To 4
ActiveSheet.Columns(spalte).Hidden = True
Next spalte
Else
For spalte = 1 To 4
ActiveSheet.Columns(spalte).Hidden = False
Next spalte
End If
nun habe ich versucht das Ganze in einer Schleife zu vereinfachen, ich hacke aber dabei, dass er dann bei Zeile 19 entsprechend 5 - 8 ausblendet, 20 dann 9 - 12 usw.
Private Sub Worksheet_Activate()
Dim i As Integer
For i = 18 To 117
If Worksheets("Verteilung Blech").Rows(i).Hidden = True Then
For spalte = 1 To 4
ActiveSheet.Columns(spalte).Hidden = True
Next spalte
Else
For spalte = 1 To 4
ActiveSheet.Columns(spalte).Hidden = False
Next spalte
End If
Next
End Sub

Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ohne Schleifen(n)
28.07.2019 23:08:41
{Boris}
Hi,
Spalten / Zeilen kannst Du auch "en bloc" bearbeiten.
Columns("A:D").Hidden = True
VG, Boris
AW: Ohne Schleifen(n)
28.07.2019 23:17:02
Moritz
Könntest du das bitte nochmal näher ausführen, wie genau ich das anstelle?
wenn ich das richtig verstehe müsste ich dann ja von F:I usw... fortschreiben, wie kriege ich das hin, dass excel das von selbst weiter kontrolliert
Zeile18 ausgeblendet - A:D/1-4
Zeile19 ausgeblendet - F:I/5-8
usw bis Zeile 117
Vielen Dank!
Anzeige
AW: Ohne Schleifen(n)
28.07.2019 23:22:43
onur
Das genügt:
Columns("A:D").Hidden =Sheets("Verteilung").Rows(18).Hidden
Columns("F:I").Hidden =Sheets("Verteilung").Rows(19).Hidden
AW: Ohne Schleifen(n)
28.07.2019 23:25:12
Moritz
Genau das System habe ich zuvor (in ähnlicher weise) genutzt, dann muss ich aber ja bis Zeile 117 den Code schreiben, die Mühe möchte ich mir sparen...
Anzeige
AW: Ohne Schleifen(n)
28.07.2019 23:55:37
onur

Private Sub Worksheet_Activate()
Dim i, ii
For i = 0 To 99
ii = i * 4
Range(Cells(1, ii + 1), Cells(1, ii + 4)).EntireColumn.Hidden = Worksheets("Verteilung  _
Blech").Rows(i + 18).Hidden
Next i
End Sub

AW: Ohne Schleifen(n)
29.07.2019 00:04:56
{Boris}
Hi,
leicht alternativ:
Sub Spalten_ein_ausblenden()
Dim x As Long, y As Long
y = 1
For x = 18 To 117
Columns(y).Resize(1, 4).EntireColumn.Hidden = Worksheets("Verteilung Blech").Rows(x).Hidden
y = y + 4
Next x
End Sub
Jetzt such Dir was aus.
VG, Boris
Anzeige
AW: Ohne Schleifen(n)
29.07.2019 21:25:23
Moritz
Guten Abend,
leider funktionieren beide Funktionen nicht, es kommt bei beiden zu unregelmäßigen fehlern, teilweise ist trotz eingeblendeter zeile 18 bereits A bis D ausgeblendet.
Vielen Dank für die Mühe, das weiß ich zu schätzen!
AW: Ohne Schleifen(n)
29.07.2019 21:29:26
Moritz
-push
AW: Ohne Schleifen(n)
29.07.2019 21:43:22
onur
Glaube ich nicht - Poste doch mal so ein Beispiel.
Anzeige
AW: Ohne Schleifen(n)
29.07.2019 22:03:17
Moritz
Du hast vollkommen recht, ich habe einen Denkfehler - muss ich erstmal selbst drüber nachdenken, wie ich den gelöst bekomme. Besten Dank für die Hilfe x) Sorry
Beim Start des Makros...
30.07.2019 12:33:48
{Boris}
Hi,
...ist in dem Beispiel das Blatt mit den aus-/einzublendenden Spalten aktiv. Ansonsten musst Du Columns(y)… noch das Worksheet voranstellen:
Worksheets("Blabla").Columns(y).Resize(….)…
VG, Boris
Anzeige
AW: If Else Schleife Bereich/Abhängigkeit definieren
28.07.2019 23:20:00
onur
Und auch ohne IF:
Columns("A:D").Hidden =Sheets("Verteilung").Rows(18).Hidden

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige