Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
900to904
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
900to904
900to904
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeilen ausblenden

Zeilen ausblenden
29.08.2007 09:48:07
Benni
Hallo Leute,
ich habe eine kurze Frage:
ich blende mit folgendem Code ein paar Zeilen auf Knopfdruck ein/aus (im Rahmen der Erstellung eines Fragebogens).

Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
ActiveSheet.Rows("29:33").EntireRow.Hidden = False
Else
ActiveSheet.Rows("29:33").EntireRow.Hidden = True
End If
End Sub


Der Fragebogen ist aber noch nicht fertig erstellt, es kommen neue Fragen hinzu, andere kommen weg. Ich will mir nun die Arbeit ersparen immer wieder die Zeilen angleichen zu müssen, sondern erreichen, dass die Zeilen praktisch immer abhängig von der Zeile in der sich der Button befindet. also im Endeffekt dasselbe wie $X$Y. Wie kriege ich das hin?
Vielen Dank im Voraus, Benni.

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen ausblenden
29.08.2007 09:58:00
Renee
Hi Benny,
praktisch immer abhängig von der Zeile in der sich der Button meinst Du damit die gleiche Zeile wie der Button (dann ist ja auch der Button weg!) oder einen Offset (+/- wieviel Zeilen) zum Button ?
Greetz Renee

AW: Zeilen ausblenden
29.08.2007 10:01:11
Benni
Hi Renee,
ich meine mit Offset, sagen wir mal die erste bis 5. Zeile nach der Zeile in der der Button ist.
MfG, Benni

AW: Zeilen ausblenden
29.08.2007 10:07:00
Renee
Hi Benni,
Also bei Offset + 1 dieser Code (+ N einfach anpassen):

Private Sub CheckBox1_Click()
ActiveSheet.Rows(ActiveSheet.Shapes("CheckBox1").TopLeftCell.Row + 1).EntireRow.Hidden _
= Not (CheckBox1.Value)
End Sub


Greetz Renee

Anzeige
AW: Zeilen ausblenden
29.08.2007 10:45:38
Benni
hi Renee,
Vielen Dank, funktioniert wunderbar.
Ich habe jetz mal mit einer for Schleife die anderen Zeilen ausgeblendet, nur sieht das dann ein bisschen komisch aus, wenn die Zeilen so kurz zeitversetzt verschwinden. Wie schaffe ich es denn mehrere Zeilen gleichzeitig (ohne for-Schleife) auszublenden?
Hier nochmal der Code:

Private Sub CheckBox4_Click()
For k = 1 To 3
If CheckBox4.Value = True Then
ActiveSheet.Rows(ActiveSheet.Shapes("CheckBox4").TopLeftCell.Row + k).EntireRow.Hidden _
= False
Else
ActiveSheet.Rows(ActiveSheet.Shapes("CheckBox4").TopLeftCell.Row + k).EntireRow.Hidden _
= True
End If
Next
End Sub


Vielen Dank,
Benni

Anzeige
AW: Zeilen ausblenden
29.08.2007 10:57:00
Renee
Hi Benni,
So wie unten.
Vergiss die Schlaufe, und vergiss Deinen IF then ELSE.

Private Sub CheckBox1_Click()
Const iOffset = 2 ' Ab diesem Zeilenoffset von der Checkbox
Const iRows = 3   ' Anzahl Zeilen zu Verschwinden
Dim lRow As Long
lRow = ActiveSheet.Shapes("CheckBox1").TopLeftCell.Row + iOffset
ActiveSheet.Rows(lRow & ":" & lRow + iRows).EntireRow.Hidden = Not (CheckBox1.Value)
End Sub


Greetz renee

AW: Zeilen ausblenden
29.08.2007 11:12:00
Benni
Hi Renee,
super, danke, funktioniert einwandfrei und den Code hast du auch super erklärt.
Bis bald, Benni.

Anzeige
Bei der Checkbox aus der Formularleiste...
29.08.2007 10:20:39
{Boris}
Hi Benni,
...kannst Du die Caller-Eigenschaft verwenden, um die Box zuzuordnen. Hat den Vorteil, dass Du nicht alle Checkboxen einzeln benennen musst.

Sub do_it(s As String)
Tabelle1.Shapes(s).TopLeftCell.Offset(1).Resize(4, 1).EntireRow.Hidden = _
(Tabelle1.Shapes(s).OLEFormat.Object.Value = 1)
End Sub


Und für jede Schaltfläche diesen Code:


Sub Kontrollkästchen1_BeiKlick()
do_it (Application.Caller)
End Sub


Blendet die nächsten 4 Zeilen aus (und auch wieder ein).
Tabelle1 (Codename der Tabelle) natürlich anpassen!
Grüße Boris

Anzeige
AW: Bei der Checkbox aus der Formularleiste...
29.08.2007 10:43:25
Benni
hi Boris,
ich habe das mal versucht, kriege es aber nicht gebacken, wahrscheinlich weil ich nicht verstehe, was ich da mache, das ist nämlich schon ein relativ komplizierter Code :)
Vielen Dank aber trotzdem
VG, Benni.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige