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

Forumthread: VBA Private Worksheets Change zusammenfügen

VBA Private Worksheets Change zusammenfügen
26.05.2015 21:31:02
Hanna
Hallo zusammen,
ich bin gerade dabei, mich ein bisschen mit Makros auseinanderzusetzen.
Konkret geht es darum, dass ich eine Excel-Tabelle habe, die verschiedene Eingabe(Listen)felder hat, insgesamt 11 Stück.
Bei der Arbeit mit der Tabelle kann es vorkommen, dass nur das erste Eingabefeld genutzt wird, oder nur 5 und dann die restlichen Felder leer sind. Die leeren Felder sollen dann optimalerweise verschwinden, sobald ich in dem auf das letzte genutzte Eingabefeld Dropdown-Menü "fertig" ausgewählt habe.
In Zeile 54-56 befindet sich dann nochmal ein verbindliches Eingabefeld, das nicht verschwinden soll.
Folgenden Code habe ich mir durch Google etc. zusammengebastelt und er funktioniert auch für das Eingabefeld 1 (d.h., wenn das leer ist, verschwindet es + alle darauffolgenden):
Private Sub Worksheet_Change(ByVal Target As Range)
Dim varAusblend As Range
Dim varSchalter As Range
Set varAusblend = ActiveSheet.Rows("10:53")
Set varSchalter = ActiveSheet.Cells(10, 1)
If varSchalter.Value = "fertig" And varAusblend.Hidden = False Then
varAusblend.Hidden = True
Else
If varSchalter.Value  "fertig" And varAusblend.Hidden = True Then
varAusblend.Hidden = False
End If
End If
End Sub
Nun habe ich das gleiche aber auch für die nachfolgenden 10 Eingabefelder.
Also Rows 14-53, Cells 14, 1 / Rows 18-53, Cells 18, 1 usw. (immer in 4er Schritten bis 50 also).
Mehrere Worksheet Changes in einem Dokument lässt mich der VBA irgendwie nicht machen, das wäre wohl zu "einfach" gewesen :)
Nun also meine Frage: Wie kann ich die 11 Codes zusammenbringen, kann mir das jemand erklären?
Das wäre wunderbar!!
Vielen Dank und liebe Grüße,
Hanna

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Private Worksheets Change zusammenfügen
26.05.2015 22:04:23
Nepumuk
Hallo,
so?
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count = 1 Then
        If Target.Row >= 10 And Target.Row <= 50 Then
            If (Target.Row - 2) Mod 4 = 0 Then
                Range(Cells(Target.Row, 1), Cells(53, Columns.Count)).Hidden = Target.Value = "fertig"
            End If
        End If
    End If
End Sub

Gruß
Nepumuk

Anzeige
AW: VBA Private Worksheets Change zusammenfügen
26.05.2015 22:06:12
Nepumuk
Da fehlt noch eine Abfrage:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count = 1 Then
        If Target.Row >= 10 And Target.Row <= 50 Then
            If Target.Column = 1 Then
                If (Target.Row - 2) Mod 4 = 0 Then
                    Range(Cells(Target.Row, 1), Cells(53, Columns.Count)).Hidden = Target.Value = "fertig"
                End If
            End If
        End If
    End If
End Sub

Anzeige
AW: VBA Private Worksheets Change zusammenfügen
26.05.2015 22:10:38
Nepumuk
Und das mag Excel auch nicht.
Range(Cells(Target.Row, 1), Cells(53, Columns.Count)).Hidden = Target.Value = "fertig"
also dann so:
Range(Cells(Target.Row, 1), Cells(53, 1)).EntireRow.Hidden = (Target.Value = "fertig")

AW: VBA Private Worksheets Change zusammenfügen
26.05.2015 22:22:14
Hanna
Das klappt wunderbar.
Vielen, vielen lieben Dank für die riesen Hilfe!! Ich hätte wahrscheinlich Stunden davor gesessen und wäre nicht einmal ansatzweise auf dem richtigen Weg gewesen.
Freut mich wirklich sehr, danke :)

Anzeige
AW: VBA Private Worksheets Change zusammenfügen
28.05.2015 20:08:35
Hanna
Jetzt habe ich noch eine Frage.
Falls ich aus Versehen "fertig" ausgewählt habe und nun also die nachfolgenden Zeilen ausgeblendet werden, ich sie aber wieder haben will - kann ich da auch etwas programmieren?
Es geht zwar klar mit dem manuellen Zeilen wieder einblenden, allerdings ist die erstellte Excel für meine Mutter und für sie wäre es wohl einfacher, wenn sie einfach auf einen "zurück"-Button klicken könnte.. ;)
Einen Command Button habe ich schon erstellt, jetzt ist die Frage - was kommt nur zwischen
Private Sub CommandButton1_Click()
[also hier]
End Sub
?
1000 Dank!!

Anzeige
AW: VBA Private Worksheets Change zusammenfügen
28.05.2015 20:23:54
Nepumuk
Hallo,
einfach so:
Private Sub CommandButton1_Click()
    Rows.Hidden = False
End Sub

Gruß
Nepumuk

Anzeige
AW: VBA Private Worksheets Change zusammenfügen
28.05.2015 20:31:02
Hanna
Ach so einfach :)
Vielen Dank es funktioniert natürlich super!
Liebe Grüße,
Hanna
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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