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

Zeilen_Ausblenden Makro nicht aktiv warum?

Zeilen_Ausblenden Makro nicht aktiv warum?
15.06.2008 14:52:00
Maiks
Hallo Excel Freunden,
ich habe gerade ein Makro zusammengestellt. der Makro soll mir Zeilen Ausblenden unter die Bedindungen von Zelle E5 und E6
zelle E5= "Vor" oder E5="Nach"
Zelle E6= 1 oder E6= 2 oder E6= 3 oder E6= 4 oder E6= 5
meine Makro habe ich in einem Modul eingefügt. mit F8 habe ich der Makro getestet. es funktionier einwandfrei!
mein Problem ist folgendes: wenn ich in der Zelle E5 od. E6 die Werte ändere, reagiert der Makro gar nicht!
woran liegt diese Inaktivität des Makro?
vielen dank in Voraus.
Maik.S
hier eine Kopie meines Makro

Sub Zeilen_Ausblenden()
On Error GoTo Fehler
ActiveSheet.Unprotect
If Range("E5") = "Nach" Then
If Range("E6") = 1 Then
Rows("34:93").EntireRow.Hidden = True
Rows("100:108").EntireRow.Hidden = True
ElseIf Range("E6") = 2 Then
Rows("46:93").EntireRow.Hidden = True
Rows("103:108").EntireRow.Hidden = True
ElseIf Range("E6") = 3 Then
Rows("58:93").EntireRow.Hidden = True
Rows("106:108").EntireRow.Hidden = True
ElseIf Range("E6") = 4 Then
Rows("70:93").EntireRow.Hidden = True
ElseIf Range("E6") = 5 Then
Rows("82:93").EntireRow.Hidden = True
Else
Rows("34:93").EntireRow.Hidden = False
Rows("100:108").EntireRow.Hidden = False
End If
Rows("7:18").EntireRow.Hidden = True
ElseIf Range("E5") = "Vor" Then
If Range("E6") = 1 Then
Rows("34:93").EntireRow.Hidden = True
Rows("100:108").EntireRow.Hidden = True
ElseIf Range("E6") = 2 Then
Rows("46:93").EntireRow.Hidden = True
Rows("103:108").EntireRow.Hidden = True
ElseIf Range("E6") = 3 Then
Rows("58:93").EntireRow.Hidden = True
Rows("106:108").EntireRow.Hidden = True
ElseIf Range("E6") = 4 Then
Rows("70:93").EntireRow.Hidden = True
ElseIf Range("E6") = 5 Then
Rows("82:93").EntireRow.Hidden = True
Else
Rows("34:93").EntireRow.Hidden = False
Rows("100:108").EntireRow.Hidden = False
End If
Rows("7:18").EntireRow.Hidden = False
Else
MsgBox "Bitte geben Sie in Zelle E5 die Kalkulation Art ein"
End If
ActiveSheet.Protect
Fehler:
If Err.Number  0 Then
MsgBox "Fehler: " & Err.Number & vbLf & Err.Description & vbLf _
& "in Prozedur Zelle_Ausblenden"
End If
End Sub


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen_Ausblenden Makro nicht aktiv warum?
15.06.2008 15:09:36
Holger
Hallo Maiks
was heißt, reagiert gar nicht? wenn es automatisch nach einer Änderung laufen soll, müsstest du eine Ereignisprozedur Worksheet_Change-Ereignis in den Codeteil der Arbeitsmappe legen.
Gruß
Holger

AW: Zeilen_Ausblenden Makro nicht aktiv warum?
15.06.2008 15:16:00
Maiks
Hallo Holger,
ganz genau! ich möchte, dass es automatisch nach einer Änderung der Zelle E5 od. E6 läuft.
die dumme Frage, die ich dir noch leider stellen muss, ist:
wie lege ich eine Ereignisprozedur in den Codeteil der Arbeitsmappe? bin leider noch ein A in VBA.
danke für deine Rückmeldung
Maik.

AW: Zeilen_Ausblenden Makro nicht aktiv warum?
15.06.2008 21:44:00
Josef
Hallo Maik,
kopiere diesen code in das Modu der entsprechenden Tabelle.
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "E5" Then
    On Error GoTo Fehler
    Me.Unprotect
    If Target = "Nach" Then
        If Range("E6") = 1 Then
            Rows("34:93").EntireRow.Hidden = True
            Rows("100:108").EntireRow.Hidden = True
        ElseIf Range("E6") = 2 Then
            Rows("46:93").EntireRow.Hidden = True
            Rows("103:108").EntireRow.Hidden = True
        ElseIf Range("E6") = 3 Then
            Rows("58:93").EntireRow.Hidden = True
            Rows("106:108").EntireRow.Hidden = True
        ElseIf Range("E6") = 4 Then
            Rows("70:93").EntireRow.Hidden = True
        ElseIf Range("E6") = 5 Then
            Rows("82:93").EntireRow.Hidden = True
        Else
            Rows("34:93").EntireRow.Hidden = False
            Rows("100:108").EntireRow.Hidden = False
        End If
        Rows("7:18").EntireRow.Hidden = True
    ElseIf Target = "Vor" Then
        If Range("E6") = 1 Then
            Rows("34:93").EntireRow.Hidden = True
            Rows("100:108").EntireRow.Hidden = True
        ElseIf Range("E6") = 2 Then
            Rows("46:93").EntireRow.Hidden = True
            Rows("103:108").EntireRow.Hidden = True
        ElseIf Range("E6") = 3 Then
            Rows("58:93").EntireRow.Hidden = True
            Rows("106:108").EntireRow.Hidden = True
        ElseIf Range("E6") = 4 Then
            Rows("70:93").EntireRow.Hidden = True
        ElseIf Range("E6") = 5 Then
            Rows("82:93").EntireRow.Hidden = True
        Else
            Rows("34:93").EntireRow.Hidden = False
            Rows("100:108").EntireRow.Hidden = False
        End If
        Rows("7:18").EntireRow.Hidden = False
    Else
        MsgBox "Bitte geben Sie in Zelle E5 die Kalkulation Art ein"
    End If
End If

Fehler:

If Err.Number <> 0 Then
    MsgBox "Fehler: " & Err.Number & vbLf & Err.Description & vbLf _
        & "in Prozedur Zelle_Ausblenden"
End If

Me.Protect

End Sub


Gruß Sepp



Anzeige
AW: dankeschön!
15.06.2008 23:22:08
Maiks
Hallo Sepp,
vielen dank, dass du noch für mich etwas gebastet hast!!
ich habe inzwischen Literatur durchgeblättert und rausgefunden wie ich dieses Ereignisprozedur legen könnte.
noch mal danke dir für deine Mühe
Gruß
Maik

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige