Thema Datum  Von Nutzer Rating
Antwort
14.04.2017 17:38:56 Alexander Edinger
NotSolved
14.04.2017 18:13:17 Gast42832
NotSolved
14.04.2017 18:15:34 Gast83921
NotSolved
18.04.2017 08:36:47 Alexander Edinger
NotSolved
Rot Excel: Zeilen nach Bedingung per Button Ein- und Ausblenden
18.04.2017 10:51:33 Gast65055
NotSolved
19.04.2017 14:19:27 Gast57675
Solved

Ansicht des Beitrags:
Von:
Gast65055
Datum:
18.04.2017 10:51:33
Views:
659
Rating: Antwort:
  Ja
Thema:
Excel: Zeilen nach Bedingung per Button Ein- und Ausblenden

Moin! Kein Problem. Habe den Code dahingehend angepasst. Bei weiteren Zeilen, die Nummer einfach oben im Array mit einfügen, Reihenfolge wäre egal.

Da du VBA lernen willst, sind noch ein paar Kommentare im Code.  Meinst du mit EXCEL VBA Kurse die im Internet oder Bücher? Bücher habe ich da keine zu, da die meisten Excel VBA Bücher die ich kannte doch nur oberflächlich die Themen behandeln. Zum Nachschlagen und für den Einstieg kann man die aber wohl  nutzen. Zum ersten braucht es ein wenig Zeit zum Lernen. Wenn du Vorkenntnisse hast, umso besser. Ansonsten irgendwo mal die Grundlagen, wie Deklaratin, Datentypen, Schleifen etc. lernen. Ansonsten hilft häufig der Makrorekorder weiter. Damit kann man den Code aufzeichen und erkennt ggf. welche Objekte man ansprechen muss. Der Recorder ist aber meist zu langsam und hat zu viele Schritte und muss anschließend optimiert werden. Ansonsten hilft immer üben üben üben (in dem Fall halt Programmieren). Wobei man auch sagen muss, dass es ein wenig Zeit kostet - ist ja schließlich eine "(Programmier)Sprache" und sowas lernt man nicht so über nacht. Aber davon nicht abhalten lassen. Evtl. ist man nach den ersten erfolgreichen Programmen so happy und vom Virus befallen und hört nicht mehr auf. :-) Dazu ist es ganz hilfreich (wenn man schon etwas vertraut ist) in diversen Foren zu lesen und ggf. zu versuchen einige der Probleme auch zu lösen. Und wenn man da Frage hat, kann man die dort natürlich auch stellen. Gibt da noch ein paar mehr als das Forum hier. Für den Einstieg würde ich ggf. ein Tutorial im Net bevorzugen. Hier mal ein paar Beispiele für Hilfen und Seiten zum Nachschlagen. Ansonsten einfach mal nach VBA lernen suchen, ist mit eine häufig gestellte Frage.

http://www.vba-tutorial.de/

http://www.online-excel.de/excel/grusel.php?f=4

https://www.fernuni-hagen.de/imperia/md/content/zmi_2010/b012.pdf

Soweit mal zur Frage noch. HIer nun der Code. VG

Private Sub ToggleButton1_Click()
Dim ende As Long
Dim zeile As Long
Dim spalte As Long
Dim raus As Boolean
Dim lassen As String
Dim nebenrechnung()

Application.ScreenUpdating = False
'das sind die Zeilen, die immer da sein sollen
nebenrechnung = Array(24, 35, 51, 69, 76, 89, 97, 106, 111, 134, 137, 147)
'mit @ verketten
lassen = "@" & Join(nebenrechnung, "@") & "@"

With ToggleButton1
    'Überschrift und Farbe ändern, je nach Auswahl des Buttons
    .Caption = "Nicht bebuchte Sachkonten sind " & IIf(.Value = True, "eingeblendet", "ausgeblendet")
    .BackColor = &HC0C0C0
    
    'auswerten des Wertes
    If .Value = False Then
    'ausblenden
        'bis zur letzten Zeile die veränderte wurde prüfen, Formatierungen sind auch Veränderungen, ende ist die Nummer der letzten Zeile
        ende = ActiveSheet.UsedRange.Rows.Count
        'durch alle Zeilen
        For zeile = 6 To ende
            'wenn die Zeilennummer im string für die Nebenrechnugen nicht vorkommt prüfen
            If InStr(1, lassen, "@" & zeile & "@", vbTextCompare) = 0 Then
                raus = True 'dient als Prüfwert, ob die Zeile raus kommt
                'durch Spalte 6 bis 17 gehen
                For spalte = 6 To 17
                    'wenn der Zellwert ungleich 0 ist, dann die Schleife beenden, und Löschkriterium auf falsch setzen
                    If ActiveSheet.Cells(zeile, spalte) <> 0 Then
                        raus = False
                        Exit For
                    End If
                Next spalte
                'eigentliches ausblenden
                If raus = True Then ActiveSheet.Rows(zeile).EntireRow.Hidden = True
            End If
        Next zeile
    Else
    'alles einblenden
        ActiveSheet.UsedRange.EntireRow.Hidden = False
    End If
End With
 
Application.ScreenUpdating = True
 
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
14.04.2017 17:38:56 Alexander Edinger
NotSolved
14.04.2017 18:13:17 Gast42832
NotSolved
14.04.2017 18:15:34 Gast83921
NotSolved
18.04.2017 08:36:47 Alexander Edinger
NotSolved
Rot Excel: Zeilen nach Bedingung per Button Ein- und Ausblenden
18.04.2017 10:51:33 Gast65055
NotSolved
19.04.2017 14:19:27 Gast57675
Solved