Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Spalten ein und ausblenden
#1
Hallöchen zusammen,
ich habe folgendes Problem.

Ich möchte für eine monatliche Spesenabrechnung, dass je nach Monat die Spalten für Tag 29 bis 31 (Februar )ausgeblendet werden. Für die Monate mit 30 Tage nur die Zeile für Tag 31.
Ich bin schon auf folgendes gestoßen:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$G$4" Then
    If Target.Value = "28" Then
        Rows("7:9").Hidden = True
    Else
        Rows("7:9").Hidden = False
    End If
ElseIf Target.Address = "$G$5" Then
    If Target.Value = "29" Then
        Rows("8:9").Hidden = True
    Else
        Rows("8:9").Hidden = False
    End If
ElseIf Target.Address = "$G$6" Then
    If Target.Value = "30" Then
        Rows("9:9").Hidden = True
    Else
        Rows("9:9").Hidden = False
    End If
End If
End Sub


Das funktioniert auch super. Die Zeilen werden je nach Eingabe in den Zellen G4 bis G6 ausgeblendet.
Nun ist jedoch das Problem, wenn ich die Zeilen über weine Formel fülle, z.B G4: =WENN(G3=WAHR;28;0)
Die Zeile G4 übernimmt die Zahl 28 jedoch gehen die Spalten nicht weg. Es geht nur wenn ich in den Zellen G4, G5 und G6 die Zahl direkt eintrage.
Wie kann ich das Lösen?

Gruß Bruno
Antwortento top
#2
Hallo Bruno,

zuerst solltest du dir mal überlegen, ob nun Zeilen oder Spalten ausgeblendet werden sollen - du widersprichst dir nämlich selbst.

Verwende das Worksheet_Calculate-Ereignis. Worksheet_Change funktioniert nicht bei Formeln.
Schöne Grüße
Berni
Antwortento top
#3
Hallo Berni,

ich meine natürlich Zeilen. Hatte es schon abgeschickt als ich es bemerkt habe, sorry.
Habe Worksheet_Calculate-Ereignis ausprobiert und den gleichen Code eingegeben.

Da geht dann gar nichts mehr

Private Sub Worksheet_Calculate()
If Target.Address = "$G$4" Then
    If Target.Value = "28" Then
        Rows("7:9").Hidden = True
    Else
        Rows("7:9").Hidden = False
    End If
ElseIf Target.Address = "$G$5" Then
    If Target.Value = "29" Then
        Rows("8:9").Hidden = True
    Else
        Rows("8:9").Hidden = False
    End If
ElseIf Target.Address = "$G$6" Then
    If Target.Value = "30" Then
        Rows("9:9").Hidden = True
    Else
        Rows("9:9").Hidden = False
    End If
End If
End Sub
Antwortento top
#4
Hallo Bruno,

vielleicht so:
Private Sub Worksheet_Calculate()
Rows("7:9").Hidden = Range("$G$4").Value = 28
Rows("8:9").Hidden = Range("$G$5").Value = 29
Rows("9:9").Hidden = Range("$G$6").Value = 30
End Sub
Gruß Uwe
Antwortento top
#5
Das kann so auch nicht funktionieren, weil du die Zahlen 28, 29 und 30 in Anführungszeichen setzt. Und damit sind sie Text. Lass die Anführungszeichen weg.
Schöne Grüße
Berni
Antwortento top
#6
Hallo Kuver,

da funktioniert nur richtig bei Eingabe von 30. Bei 28 blendet er die Zeile 7 nur aus. Das wird an der Mehrfach Ausblendung der Zeilen liegen
Bei 28 lässt bleibt die Zeil 8 und 9, bei 29 bleibt die Zeile 9, bei 30 funktioniert es
Antwortento top
#7
Hallöchen,

das Makro reagiert auf die Inhalte von G4, G5 und G6. Wenn sich nur in G4 etwas tut und G5 und G6 sich nicht gegenüber der letzten Berechnung verändern, ändert sich auch am Endzustand der betreffenden Zeilen nix. Du kannst ja mal in die 28er Zeile Smile einen Haltepunkt setzen und das Makro bei der nächsten Berechnung schrittweise durchgehen und die Zustände kurz anschauen.
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top
#8
Wenn du einfach mal meinen letzten Beitrag befolgen würdest, hättest du das Problem schon gelöst.
Schöne Grüße
Berni
Antwortento top
#9
HI Berni,

bei Uwe sind keine Anführungszeichen ...
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top
#10
Hi André,

bei Uwe nicht ... 21
Schöne Grüße
Berni
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste