Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1032to1036
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
Inhaltsverzeichnis

Zeile bestimmten ...

Zeile bestimmten ...
11.12.2008 18:34:12
Nils
Hallo,
ich habe für einen Profi ein sicher leicht zu lösendes Problem, welches ich allerdings nicht hin kriege.
Und zwar prüft die Sub unten ob sich ein Eintrag ändert (also ein Datum) und ruft dann spezielle Subs auf.
Dabei wird zusätzlich geschaut, ob ein "x" in der Spalte AJ, AK oder AL steht.
Das Problem ist, dass ich nicht - wie die Sub jetzt - immer die Zeile "Zeile1" (also 4) sondern die Zeile prüfen will, in der sich das Datum auch ändert.
Wie kann ich das schreiben?
Danke schon mal.
Nils

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zelle
Const SpalteDatum = 5 'Spalte E in der Startdatum überwacht werden soll
Const Zeile1 = 4 '1. zeile ab der Eingabedatum überwacht werden soll
'Prüfen ob Eingabezelle in Spalte "SpalteDatum" unterhalb von "Zeile1" geändert wurde
'Es können innerhalb der Spalte auch mehrere Zellen geändert werden.
If Not Intersect(Target, Range(Cells(Zeile1, SpalteDatum), Cells(Rows.Count, _
SpalteDatum))) Is Nothing Then
Application.EnableEvents = False
For Each Zelle In Target
If Zelle.Column = SpalteDatum And Range("AJ" & Zeile1).Value = "x" Then
Call Autoformat(wks:=Worksheets("Kalender"), Startvar:=Zelle.Value, _
Zeile:=Zelle.Row, zeileDatum:=3, spalteDatum1:=5)
ElseIf Zelle.Column = SpalteDatum And Range("AK" & Zeile1).Value = "x" Then
Call Auto_2(wks2:=Worksheets("Kalender"), Startvar2:=Zelle.Value, _
Zeile2:=Zelle.Row, zeileDatum2:=3, spalteDatum2:=5)
ElseIf Zelle.Column = SpalteDatum And Range("AL" & Zeile1).Value = "x" Then
Call Auto_3(wks3:=Worksheets("Kalender"), Startvar3:=Zelle.Value, _
Zeile3:=Zelle.Row, zeileDatum3:=3, spalteDatum3:=5)
End If
Next
Application.EnableEvents = True
End If
End Sub


3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile bestimmten ...
11.12.2008 19:10:20
Nepumuk
Hallo Nils,
so z.B.:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Zelle As Range
    Const SpalteDatum = 5 'Spalte E in der Startdatum überwacht werden soll
    Const Zeile1 = 4 '1. zeile ab der Eingabedatum überwacht werden soll
    
    'Prüfen ob Eingabezelle in Spalte "SpalteDatum" unterhalb von "Zeile1" geändert wurde
    'Es können innerhalb der Spalte auch mehrere Zellen geändert werden.
    
    Set Target = Intersect(Target, Cells(Zeile1, SpalteDatum).Resize(Rows.Count - Zeile1 + 1))
    
    If Not Target Is Nothing Then
        Application.EnableEvents = False
        For Each Zelle In Target
            If Zelle.Column = SpalteDatum And Cells(Zelle.Row, 36).Value = "x" Then
                Call AutoFormat(wks:=Worksheets("Kalender"), Startvar:=Zelle.Value, _
                    Zeile:=Zelle.Row, zeileDatum:=3, spalteDatum1:=5)
            ElseIf Zelle.Column = SpalteDatum And Cells(Zelle.Row, 37).Value = "x" Then
                Call Auto_2(wks2:=Worksheets("Kalender"), Startvar2:=Zelle.Value, _
                    Zeile2:=Zelle.Row, zeileDatum2:=3, spalteDatum2:=5)
            ElseIf Zelle.Column = SpalteDatum And Cells(Zelle.Row, 38).Value = "x" Then
                Call Auto_3(wks3:=Worksheets("Kalender"), Startvar3:=Zelle.Value, _
                    Zeile3:=Zelle.Row, zeileDatum3:=3, spalteDatum3:=5)
            End If
        Next
        Application.EnableEvents = True
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: Zeile bestimmten ...
12.12.2008 10:42:57
Nils
Funktioniert,
danke!
AW: Zeile bestimmten ...
12.12.2008 10:43:00
Nils
Funktioniert,
danke!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige