17.12.2020, 12:35
Hallo zusammen,
ich stehe vor folgenden Problem.
Ich habe 2 Übersichten mit einmal Teilnehmern und Lehrgänge.
Als drittes Arbeitsblatt habe ich ein Änderungsjornal.
Nun möchte ich in diesen Änderungsjornal den jeweiligen Verweis auf den Lehrgang der sich geändert hat.
Dieser steht immer in der Spalte A,
Z.b:
____________Spalte A____Spalte B____Spalte C
Zeile 1_______Schweißer___Huber_____Zugewiesen
Zeile 2_______Elektroniker___Meier_____Warteliste
Zeile 3_______Kraftfahrer___Sepp_____Warteliste
Jetzt ist der Meier nicht mehr auf Warteliste sondern Zugewiesen und bei den Änderungen soll der Verweis dann in Zelle 8 sein auf Spalte A, Zeile 2.
Aber eben Variabel
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim ErsteFreieZeile As Long
Dim AlterWert As Variant, NeuerWert As Variant
Dim rngNeuSel As Range
Select Case Sh.Name
Case "FmStff", "Lehrgangsplanung FmStff"
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Sh.Range("A1:Q550")) Is Nothing Then Exit Sub
Application.EnableEvents = False
NeuerWert = Target.Value
Set rngNeuSel = Selection
Application.Undo
AlterWert = Target.Value
Target.Value = NeuerWert
On Error Resume Next
rngNeuSel.Activate
On Error GoTo 0
With Sheets("Änderungsjornal FmStff")
ErsteFreieZeile = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(ErsteFreieZeile, 1) = Sh.Name
.Cells(ErsteFreieZeile, 2) = Target.Address(0, 0)
.Cells(ErsteFreieZeile, 3) = Target.Value
.Cells(ErsteFreieZeile, 4) = AlterWert
.Cells(ErsteFreieZeile, 5) = Time
.Cells(ErsteFreieZeile, 6) = Date
.Cells(ErsteFreieZeile, 7) = Environ("username")
.Cells(ErsteFreieZeile, 8) =
End With
Application.EnableEvents = True
End Select
End Sub
ich stehe vor folgenden Problem.
Ich habe 2 Übersichten mit einmal Teilnehmern und Lehrgänge.
Als drittes Arbeitsblatt habe ich ein Änderungsjornal.
Nun möchte ich in diesen Änderungsjornal den jeweiligen Verweis auf den Lehrgang der sich geändert hat.
Dieser steht immer in der Spalte A,
Z.b:
____________Spalte A____Spalte B____Spalte C
Zeile 1_______Schweißer___Huber_____Zugewiesen
Zeile 2_______Elektroniker___Meier_____Warteliste
Zeile 3_______Kraftfahrer___Sepp_____Warteliste
Jetzt ist der Meier nicht mehr auf Warteliste sondern Zugewiesen und bei den Änderungen soll der Verweis dann in Zelle 8 sein auf Spalte A, Zeile 2.
Aber eben Variabel
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim ErsteFreieZeile As Long
Dim AlterWert As Variant, NeuerWert As Variant
Dim rngNeuSel As Range
Select Case Sh.Name
Case "FmStff", "Lehrgangsplanung FmStff"
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Sh.Range("A1:Q550")) Is Nothing Then Exit Sub
Application.EnableEvents = False
NeuerWert = Target.Value
Set rngNeuSel = Selection
Application.Undo
AlterWert = Target.Value
Target.Value = NeuerWert
On Error Resume Next
rngNeuSel.Activate
On Error GoTo 0
With Sheets("Änderungsjornal FmStff")
ErsteFreieZeile = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(ErsteFreieZeile, 1) = Sh.Name
.Cells(ErsteFreieZeile, 2) = Target.Address(0, 0)
.Cells(ErsteFreieZeile, 3) = Target.Value
.Cells(ErsteFreieZeile, 4) = AlterWert
.Cells(ErsteFreieZeile, 5) = Time
.Cells(ErsteFreieZeile, 6) = Date
.Cells(ErsteFreieZeile, 7) = Environ("username")
.Cells(ErsteFreieZeile, 8) =
End With
Application.EnableEvents = True
End Select
End Sub