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

Einfache Sache, ich sehs nicht

Einfache Sache, ich sehs nicht
05.05.2005 15:22:24
Winfried
Hallo miteinander,
ich hänge fest und finde die Lösung nicht.
Bei Eintrag in die Zelle mit Namen "AnzahlFahrzeuge" (= H4 bzw. R4C8)soll das Makro ausgelöst werden, sofern Zelle "MENR" Offset(-2,0) nicht leer ist, sonst Msg Box und Ende.
Hier mein "Werk" :) kann mir bitte jemand auf die Sprünge helfen?

Private Sub Worksheet_Change(ByVal Target As Range)
Dim AnzahlFahrzeuge As Byte
If Target.Cells <> "AnzahlFahrzeuge" Then Exit Sub
If Target.Offset(-2, 0) <> "" Then
With Target.Offset(0, 0)
Select Case AnzahlFahrzeuge
Case 1
Sheets("Fahrzeug (2)").Activate
ActiveWorkbook.Sheets("Fahrzeug (2)").Tab.ColorIndex = -4142
Sheets("Fahrzeug (2)").Activate
ActiveWorkbook.Sheets("Fahrzeug (3)").Tab.ColorIndex = -4142
Sheets("Fahrzeug (2)").Activate
ActiveWorkbook.Sheets("Fahrzeug (4)").Tab.ColorIndex = -4142
Sheets("Fahrzeug (2)").Activate
ActiveWorkbook.Sheets("Fahrzeug (5)").Tab.ColorIndex = -4142
Sheets("Zeitmeldung").Move after:=Sheets("Fahrzeug")
Case 2
Sheets("Fahrzeug (2)").Activate
Sheets("Fahrzeug (2)").Tab.ColorIndex = 50
Sheets("Zeitmeldung").Move Before:=Sheets("Fahrzeug (3)")
Case 3
Sheets("Fahrzeug (2)").Activate
ActiveWorkbook.Sheets("Fahrzeug (2)").Tab.ColorIndex = 50
Sheets("Fahrzeug (2)").Activate
ActiveWorkbook.Sheets("Fahrzeug (3)").Tab.ColorIndex = 50
Sheets("Zeitmeldung").Move Before:=Sheets("Fahrzeug (4)")
Case 4
Sheets("Fahrzeug (2)").Activate
ActiveWorkbook.Sheets("Fahrzeug (2)").Tab.ColorIndex = 50
Sheets("Fahrzeug (2)").Activate
ActiveWorkbook.Sheets("Fahrzeug (3)").Tab.ColorIndex = 50
Sheets("Fahrzeug (2)").Activate
ActiveWorkbook.Sheets("Fahrzeug (4)").Tab.ColorIndex = 50
Sheets("Zeitmeldung").Move Before:=Sheets("Fahrzeug (5)")
Case 5, Is > 5
Sheets("Fahrzeug (2)").Activate
ActiveWorkbook.Sheets("Fahrzeug (2)").Tab.ColorIndex = 50
Sheets("Fahrzeug (2)").Activate
ActiveWorkbook.Sheets("Fahrzeug (3)").Tab.ColorIndex = 50
Sheets("Fahrzeug (2)").Activate
ActiveWorkbook.Sheets("Fahrzeug (4)").Tab.ColorIndex = 50
Sheets("Fahrzeug (2)").Activate
ActiveWorkbook.Sheets("Fahrzeug (5)").Tab.ColorIndex = 50
Sheets("Zeitmeldung").Move after:=Sheets("Fahrzeug (5)")
Else: GoTo Fehler
End Select
End With
End If
Sheets("Antrag_Entsendung").Select
Range("b7").Select
Fehler:
MsgBox ("Bitte ME-NR. eintragen")
Exit Sub
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einfache Sache, ich sehs nicht
05.05.2005 16:15:33
Nepumuk
Hi Winfried,
mit Target.Cells frägst du die Standardeigenschaft des Cells - Objektes im Target - Objekt ab. Die ist nicht die Name - Eigenschaft, sondern die Value - Eigenschaft.
Deine Abfrage musst du so gestalten:


Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("AnzahlFahrzeuge")) Is Nothing Then
    End If
End Sub


Gruß
Nepumuk
Anzeige
AW: change by value
05.05.2005 16:56:43
Winfried
Danke Nepumuk, das funktioniert.
Ist es viel verlangt, wenn ich bitte mir noch bei der genannten Bedingung zu helfen?
Wenn Zelle "MENR" Target.Offset(-2,0) leer ist, Msg Box und Ende.
Vielen Dank
AW: change by value
05.05.2005 19:26:18
Nepumuk
Hi Winfried,
versteh ich jetzt nicht ganz. Soll die Prüfung nur stattfinden, wenn in Zelle "AnzahlFahrzeuge" etwas eingegeben wurde?
Gruß
Nepumuk
AW: change by value
05.05.2005 20:01:44
Winfried
Ich möchte absichern, dass eine Auftragsnummer vergeben wurde.
Also wenn die Zelle "AnzahlFahrzeuge" ausgewählt wird UND die Zelle "MENR" leer ist, dann sollte das Makro nicht fortgesetzt werden. Eine MsgBox muss auf den Fehler hinweisen. Schön wäre wenn der Kursor auf die Zelle "MENR" zurückspringt.
Ist nur Spielerei zum lernen, ich kann das Makro auch ohne das verwenden.
Jedenfalls vielen Dank für die Geduld
Winfried
Anzeige
AW: change by value
05.05.2005 20:06:09
Nepumuk
Hi Winfried,
nur auswählen oder was eingeben? Das erste Makro betraf das Change - Ereignis. Eine Reaktion beim auswählen bekommst du mit dem Selectin_Change - Ereignis.
Gruß
Nepumuk
AW: change by value
05.05.2005 23:07:47
Nepumuk
Hallo Winfried,
dann würde ich das so machen:


Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("AnzahlFahrzeuge")) Is Nothing Or _
        Not Intersect(Target, Range("MENR")) Is Nothing Then
        If Trim$(Range("AnzahlFahrzeuge").Text) <> "" And _
            Trim$(Range("MENR").Text) <> "" Then
            Select Case Range("AnzahlFahrzeuge").Value
                Case 1
                    Sheets(Array("Fahrzeug (2)", "Fahrzeug (3)", "Fahrzeug (4)", _
                        "Fahrzeug (5)")).Tab.ColorIndex = -4142
                    Sheets("Zeitmeldung").Move After:=Sheets("Fahrzeug")
                Case 2
                    Sheets("Fahrzeug (2)").Tab.ColorIndex = 50
                    Sheets("Zeitmeldung").Move Before:=Sheets("Fahrzeug (3)")
                Case 3
                    Sheets(Array("Fahrzeug (2)", "Fahrzeug (3)")).Tab.ColorIndex = 50
                    Sheets("Zeitmeldung").Move Before:=Sheets("Fahrzeug (4)")
                Case 4
                    Sheets(Array("Fahrzeug (2)", "Fahrzeug (3)", "Fahrzeug (4)")). _
                        Tab.ColorIndex = 50
                    Sheets("Zeitmeldung").Move Before:=Sheets("Fahrzeug (5)")
                Case Is >= 5
                    Sheets(Array("Fahrzeug (2)", "Fahrzeug (3)", "Fahrzeug (4)", _
                        "Fahrzeug (5)")).Tab.ColorIndex = 50
                    Sheets("Zeitmeldung").Move After:=Sheets("Fahrzeug (5)")
                Case Else
                    MsgBox "Anzahl der Fahrzeuge falsch"
                    Exit Sub
            End Select
            Sheets("Antrag_Entsendung").Select
            Range("B7").Select
        ElseIf Trim$(Range("AnzahlFahrzeuge")) <> "" Then
            MsgBox "Bitte ME-NR. eintragen"
            Range("MENR").Select
        End If
    End If
End Sub


Gruß
Nepumuk
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige