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

eine Zeile einblenden

eine Zeile einblenden
10.01.2019 09:51:57
HabeEineFrage
Hallo,
ich möchte gerne wissen wie ich eine Zelle einer Tabelle (die ausgeblendet ist) wieder einblenden kann.
Also ich habe eine Tabelle, wenn Zeile 4 komplett ausgefüllt worden ist, soll Zeile 5 eingeblendet werden und wenn Zeile 5 komplett ausgefüllt worden ist, dann die Zeile 6 usw.
Oder ich kann mich natürlich auch nur auf eine Spalte beziehen und sagen wenn Spalte C4 ausgefüllt ist, dann blende komplett Zeile 5 ein.
Alles soll automatisch erfolgen...
Ist dies möglich?
Danke im Voraus.
LG

26
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: eine Zeile einblenden
10.01.2019 10:16:38
Werner
Hallo,
so:
Private Sub Worksheet_Change(ByVal Target As Range)
'Bereich der Auswirkung = Zeile 10 bis Zeile 20
If Target.Row >= 10 And Target.Row 
Der Code gehört ins Codemodul des Tabellenblattes auf dem er sich auswirken soll.
Rechtsklick auf den Tabellenblattreiter - Code anzeigen - Code rechts ins Codefenster kopieren
Gruß Werner
Benutze das Change-Ereignis...
10.01.2019 10:19:14
Beverly
Hi,
...des Tabellenblattes z.B. mit folgendem Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells(1).Column = 4 Then
Target.Cells(1).Offset(1, 0).EntireRow.Hidden = Target.Cells(1) = ""
End If
End Sub


Anzeige
AW: Benutze das Change-Ereignis...
10.01.2019 12:13:58
Beverly
Hi,
meinen Code hast du getestet?


AW: Benutze das Change-Ereignis...
11.01.2019 10:16:04
HabeEineFrage
Auch hier tut sich nichts.. :-/
AW: Benutze das Change-Ereignis...
11.01.2019 10:28:57
Beverly
Wo hast du den Code denn hinkopiert?
Im angehängten Beispiel: Zeilen 4 bis 32 sind ausgeblendet - trage in D3 etwas ein und Zeile 4 wird eingeblendet -&gt trage in D4 etwas ein und Zeile 5 wird eingeblendet usw.
https://www.herber.de/bbs/user/126666.xlsm


AW: Benutze das Change-Ereignis...
11.01.2019 11:20:36
HabeEineFrage
Hallo,
zuerst möchte ich mich fur deine Hilfe bedanken, ich habe den Code beim Entwicklertool unter Visual Basic eingegeben, aber es tut sich trotzdem nichts..
Könntest du dir eventuell dir meine Datei anschauen?
https://www.herber.de/bbs/user/126671.xlsm
Ich danke dir vielmals.
LG
Anzeige
Du hast nicht nur....
11.01.2019 11:59:35
Werner
Hallo,
...EineFrage sondern auch ein Problem. Du liest nicht alle Beiträge. Der Code von Beverly macht nämlich nicht das, was du eingangs gefordert hattest. Er prüft nicht, ob die Zeile komplett ausgefüllt ist.
Dazu hatte ich dir jetzt schon den zweiten Code gepostet, angepasst auf deine Bereiche in der Tabelle. Und bereits in meinem ersten Beitrag hatte ich dir geschrieben, wo der Code hin muss.
Hier steige ich aus.
Gruß Werner
AW: Benutze das Change-Ereignis...
11.01.2019 12:14:05
Beverly
Hi,
in meinem 1. Beitrag hatte ich doch geschrieben "Change-Ereignis des Tabellenblattes" - also nicht in ein allgemeines Modul sondern Rechtsklick auf den Reiter des Tabellenblattes -&g Code anzeigen und dann rechts eintragen.


Anzeige
AW: Benutze das Change-Ereignis...
13.01.2019 22:29:01
HabeEine
Hallo Beverly und Werner,
ich bins nochmal.
Dieses Mal habe ich die Codes wie beschrieben eingefügt, aber da tut immer noch nichts.
Liegt das evtl. daran, dass ich in der Tabelle teilweise auch DropDown-Eingaben habe?
Wie Ihr schon merkt bin ich kein Excel-Experte, steige bei meinem Problem nicht ein und finde die Ursache nicht....
Lade deine aktuelle Mappe hoch...
13.01.2019 22:51:24
Beverly
Hi,
...damit man das genau sehen kann was du gemacht hast.
Die Gültigkeitszellen reagieren ebenso wie direkte Eingaben.


AW: Lade deine aktuelle Mappe hoch...
13.01.2019 23:24:25
HabeEine
Hallo,
die Datei findest du unter diesem Link:
https://www.herber.de/bbs/user/126731.xlsm
Ich danke Dir!
LG
Anzeige
Wie soll denn etwas funktionieren...
14.01.2019 08:39:00
Beverly
Hi,
...wenn du dich nicht an die Hinweise hältst die man dir gibt?
1. steht mein Code nicht im Codemodul des Tabellenblattes "Probe" sondern im allgemeinen Modul47 - wie soll das Tabellenblatt denn da reagieren können?
2. dein Cursor steht in Zeile 24 - wenn du dort etwas in Spalte E (5) einträgst/auswählst können die darunter liegenden Zeilen nicht eingeblendet werden, denn sie sind schon eingeblendet
Lösung:
1. trage den Code dort ein wo er hin gehört - wo/wie du den Code einfügen sollst hatte ich bereits geschrieben
2. lösche die Zeile 24, wähle dann in E4 etwas aus und schon wird Zeile 5 eingeblendet (usw.)
https://www.herber.de/bbs/user/126734.xlsm
Du hast in 2 allgemeinen Modulen noch 2 weitere Worksheet_Change-Ereignisse stehen - 1. können sie dort nichts bewirken und 2. müsstest du (falls sie ebenfalls etwas ausrichten sollen) deren Code mit meinem zu einer gemeinsamen Prozedur zusammenfassen, denn es gibt immer nur 1 Change-Ereignis.
Noch ein dringender Hinweis für die Zukunft: lies die Antworten auf deine Fragen vollständig und halte dich an die darin gegebenen Anweisungen - andernfalls wird dein Projekt nie funktionieren und du wirst deine Basiskenntnisse (?!!) in VBA nicht verbessern können.


Anzeige
AW: Wie soll denn etwas funktionieren...
15.01.2019 10:27:49
HabeEineFrage
Hallo,
Euch erstmal ein vielen lieben Dank! :-)
Eure Informationen haben mich definitiv weiter gebracht.
@Beverly: Habe aber noch eine Frage, wie kann ich die Abhängigkeit (statt Spalte E) Spalte G machen? Hast ja in deinem Code nichts mit Spalten etc. stehen...
Wenn du mir da den Code oder einen Tipp geben könntest, wäre echt super nett von dir.
LG
In der Codezeile...
15.01.2019 10:33:25
Beverly
Hi,
...
    If Target.Cells(1).Column = 5 Then

ist die Spaltennummer angegeben: 5 für Spalte E - diese musst du einfach anpassen.


Anzeige
AW: Lade deine aktuelle Mappe hoch...
14.01.2019 10:35:29
Werner
Hallo,
so, jetzt meine Version auch noch. Die Folgezeile wird erst dann eingeblendet wenn in sämtlichen Spalten von B-O ein Eintrag vorhanden ist.
Ansonsten schließe ich mich den Ausführungen von Karin an.
Und noch was: Deine gefühlt 100 leeren Module hättest du vielleicht vorher mal löschen sollen. Die Sucherei nach dem Modul, in das du die Codes kopiert hattest, hätte ich mir dann sparen können. Ostern, und die damit verbundene Ostereiersuche, steht erst noch an.
https://www.herber.de/bbs/user/126737.xlsm
Gruß Werner
Anzeige
AW: Benutze das Change-Ereignis...
13.01.2019 22:54:17
HabeEine
Wenn ich beide Codes von euch als ein Sub-Code umwandle, also ohne Worksheet, dann entsteht in dem Bereich, wo ich den Spaltenbereich eingebe (also von B bis O) ein Fehler.
Die Fehlermeldung lautet: Laufzeitfehler`424` Objekt erforderlich.
Was kann ich mit dieser Meldung anfangen? Was bedeutet die Meldung und wie kann ich mein Code funktionsfähig machen?
LG
AW: eine Zeile einblenden
10.01.2019 10:26:59
Georg
Hallo,
was ist denn bei Dir "komplett ausgefüllt"? Selbst alte Excel Versionen haben 256 Spalten. Müssen die alle gefüllt sein?
Wenn nein, dann ist immer noch die Frage welche Zeile als Vergleichszeile fungiert. Die Zeile der aktiven Zelle? Und was soll den Code auslesen? Das Verlassen einer bestimmten Spalte?
Ich glaube ich würde das so nicht machen weil es ehrer unübersichtlich ist. Trotzdem mal als Ansatz:
Sub EinAusBlenden()
Dim VonSpalte As Long, BisSpalte As Long
Dim VonZeile As Long, BisZeile As Long
VonZeile = 2
BisZeile = 100
VonSpalte = 1
BisSpalte = 5
x = ActiveCell.Row
Range(VonZeile & ":" & BisZeile).EntireRow.Hidden = False
For i = VonSpalte To BisSpalte
If Cells(ActiveCell.Row, i) = "" Then
Exit Sub
Else
If i = BisSpalte Then
Range(VonZeile & ":" & x & "," & x + 2 & ":" & BisZeile).EntireRow.Hidden = True
End If
End If
Next
End Sub
So kannst Du Die Spalten und die Zeilen einstellen. Es wird die Zeile der aktvien Zelle ausgewertet (noch ohne auslösendes Ereignis)
LGG
Anzeige
AW: eine Zeile einblenden
10.01.2019 11:22:11
HabeEineFrage
Hallo,
erstmals vielen Dank für die Antworten.
In der fett abgebildeten Zeile habe ich Probleme, dieses wird mit gelb angezeigt.
Woran kann das liegen?
Finde das Problem nicht..
Sub EinAusBlenden()
Dim VonSpalte As Long, BisSpalte As Long
Dim VonZeile As Long, BisZeile As Long
VonZeile = 4
BisZeile = 23
VonSpalte = B
BisSpalte = O
x = ActiveCell.Row
Range(VonZeile & ":" & BisZeile).EntireRow.Hidden = False
For i = VonSpalte To BisSpalte
If Cells(ActiveCell.Row, i) = "" Then
Exit Sub
Else
If i = BisSpalte Then
Range(VonZeile & ":" & x & "," & x + 2 & ":" & BisZeile).EntireRow.Hidden = True
End If
End If
Next
End Sub

Anzeige
Dann sag ich mal...
10.01.2019 12:04:14
Werner
Hallo,
.... danke fürs Ignorieren.
Gruß Werner
AW: Dann sag ich mal...
11.01.2019 10:10:58
HabeEineFrage
Hallo Werner,
ich habe all die von euch vorgeschlagene Codes übernommen, jedoch hat sich da komischerweise nichts getan.. weiß auch nicht woran das liegt, da keine Fehlermeldung aufgetreten ist.
Meine Eingabe bei deinem Code lautet wie folgt:
[Tabelle geht von Spalte B bis O und geht von Zeile 4 bis 23]
Private Sub Worksheet_Change(ByVal Target As Range)
'Bereich der Auswirkung = Zeile 4 bis Zeile 23
If Target.Row >= B And Target.Row 
Habe ich hier fehlerhafte Einträge?
LG
AW: Dann sag ich mal...
11.01.2019 10:11:11
HabeEineFrage
Hallo Werner,
ich habe all die von euch vorgeschlagene Codes übernommen, jedoch hat sich da komischerweise nichts getan.. weiß auch nicht woran das liegt, da keine Fehlermeldung aufgetreten ist.
Meine Eingabe bei deinem Code lautet wie folgt:
[Tabelle geht von Spalte B bis O und geht von Zeile 4 bis 23]
Private Sub Worksheet_Change(ByVal Target As Range)
'Bereich der Auswirkung = Zeile 4 bis Zeile 23
If Target.Row >= B And Target.Row 
Habe ich hier fehlerhafte Einträge?
LG
AW: Dann sag ich mal...
11.01.2019 10:28:09
Werner
Hallo,
den Unterschied zwischen Zeilen und Spalten kennst du?
Ich habe es jetzt mal so geschrieben, dass es vielleicht klarer wird.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row >= 4 And Target.Row 
Gruß Werner
AW: eine Zeile einblenden
10.01.2019 12:59:06
Georg
Hi,
gelb bedeutet ja, dass es einen Fehler gab. Was war denn die Meldung?
Ich kann aber nicht weiter mithelfen weil ich jetzt unterwegs bin...
Schau doch mal noch Werners Antwort an. Er war eh der schnellste UND kürzeste sowiso.
LGG
AW: eine Zeile einblenden
11.01.2019 10:14:18
HabeEineFrage
Die Meldung sagt mir, dass sich ein anwendungs- oder objektdefinierter Fehler aufgetreten ist. :-/
AW: eine Zeile einblenden
11.01.2019 10:42:42
Georg
Vermutlich gibt es eine der Variablen nicht bzw. sie ist nicht korrekt gefüllt oder das Blatt ist gesperrt?
LG Georg

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige