Oder vielleicht gibt es ja auch eine einfachere Lösung
über Kontrollkästchen oder entsprechende Funktion ?
dachte ungefähr so
=Wenn(A1="X"; Tabelle2!2:8 Selection.EntireRow.Hidden = False; Tabelle2!2:8
Selection.EntireRow.Hidden = True)
Ich habe dazu aber leider nichts passendes gefunden und
bin dankbar für jeden Tip.
Hallo Andreas,
erstelle den Togglebutton in einem Tabellenblatt, klicke mit der
rechten Maustaste auf ihn, um das Kontextmenü zu erhalten und wähle
'Code anzeigen'. Gib dort im vorgegebenen Prozedurrumpf das folgende
Makro ein (Name des Togglebutton und ein- auszublendende Zeilen müssen
von dir noch angepaßt werden):
Private Sub tglEinAus_Click()
If tglEinAus.Value = True Then
Worksheets(1).Range("A10:A15").Select
Selection.EntireRow.Hidden = True
tglEinAus.Caption = "Einblenden"
Else
Worksheets(1).Range("A10:A15").Select
Selection.EntireRow.Hidden = False
tglEinAus.Caption = "Ausblenden"
End If
End Sub
MfG Frank
--
Private Sub ToggleButton1_Click()
If ToggleButton1.Value = True Then
Rows("5:10").Select
Selection.EntireRow.Hidden = True
ToggleButton1.Caption = "Einblenden"
Range("A1").Select
Else
Rows("5:10").Select
Selection.EntireRow.Hidden = False
ToggleButton1.Caption = "Ausblenden"
Range("A1").Select
End If
End Sub
Leider funktioniert diese immer nur im eignen Tabellenblatt.
Auch der Aufruf z.B. Sheets("Tabelle1").Select bringt keinen Erfolg.
Es kommen immer Fehler.
Was mache ich falsch, oder funktioniert es prinzipiell nur im selben
Tabellenblatt.
Übrigens arbeite ich mit XL8
Vielen Dank für jeden Tip.
MfG Andreas
Frank Arendt-Theilen <32007502...@t-online.de> schrieb in Nachricht
<72cmh2$chd$3...@news01.btx.dtag.de>...
>Vielen Dank für die rasche Hilfe. Es hat mich einen Schritt weitergebracht.
>>Hallo Andreas,
>>erstelle den Togglebutton in einem Tabellenblatt, klicke mit der
>>rechten Maustaste auf ihn, um das Kontextmenü zu erhalten und wähle
>>'Code anzeigen'. Gib dort im vorgegebenen Prozedurrumpf das folgende
>>Makro ein (Name des Togglebutton und ein- auszublendende Zeilen müssen
>>von dir noch angepaßt werden):
>>
>>Private Sub tglEinAus_Click()
>> If tglEinAus.Value = True Then
>> Worksheets(1).Range("A10:A15").Select
>> Selection.EntireRow.Hidden = True
>> tglEinAus.Caption = "Einblenden"
>> Else
>> Worksheets(1).Range("A10:A15").Select
>> Selection.EntireRow.Hidden = False
>> tglEinAus.Caption = "Ausblenden"
>> End If
>>End Sub
>>
Hallo Andreas,
zu 1)
du hast recht etwas fehlt, aber zunächst:
Worksheets(x) (beachte das Mehrzahl 's') ist die Liste aller in einer
Arbeitsmappe befindlichen Arbeitsblätter. Über den Index 'x' oder den
Namen eines Arbeitsblattes kann ich auf das einzelne Blatt zugreifen.
Worksheets(1) meint das 1. Blatt in der Liste der Arbeitsblätter der
Arbeitsmappe. Worksheets(1) ist nicht unbedingt das Blatt mit dem
Namen 'Tabelle1'.
Bei deinem Makro setzt du als Default-Objekt das aktive Tabellenblatt
voraus, also das Blatt, in dem der Togglebutton enthalten ist. Du
könntest aber dein Makro auch in den anderen Blättern anwenden, in
denen der Tooglebutton nicht enthalten ist, damit:
Private Sub ToggleButton1_Click()
Application.ScreenUpdating = False
Set altesBlatt = ActiveSheet
If ToggleButton1.Value = True Then
Worksheets(1).Select
Worksheets(1).Range("A10:A15").Select
Selection.EntireRow.Hidden = True
ToggleButton1.Caption = "Einblenden"
Else
Worksheets(1).Select
Worksheets(1).Range("A10:A15").Select
Selection.EntireRow.Hidden = False
ToggleButton1.Caption = "Ausblenden"
End If
altesBlatt.Select
Application.ScreenUpdating = True
Nochmals vielen Dank.
Funktioniert hervoragend und hat echt weitergeholfen.
MfG Andreas