geänderten wert aus zelle auslesen

Bild

Betrifft: geänderten wert aus zelle auslesen
von: Bernd
Geschrieben am: 02.03.2005 12:16:53
guten morgen liebe excelgemeinde,
ich habe folgenden code zusammengebastelt:


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static intVeraendert 
Dim IngZeile As Long
        
If ActiveCell > 1 Then
        
With Worksheets("tab1")
IngZeile = .Cells(Rows.Count, 1).End(xlUp).Row + intVeraendert + 1
.Cells(IngZeile, 1).Value = Format(Now, "DD.MM.YYYY") 'Datum in Spalte A
.Cells(IngZeile, 2).Value = Format(Now, "HH:MM:SS") 'Uhrzeit in Spalte B
.Cells(IngZeile, 3).Value = Environ("Username") 'User in Spalte C
.Cells(IngZeile, 4).Value = ActiveCell 'Wert der aktiven Zelle in Spalte D
End With
Else
Exit Sub
End If
End Sub

dieser code schreibt jetzt, sofern die aktive zelle grösser 1 ist,
in A2 das aktuelle datum
in B2 die aktuelle uhrzeit
in C2 den angemeldeten user (datei liegt im Netz)
in D2 den wert der aktiven zelle
wenn nun der wert in der aktiven zelle geändert wird, möchte ich in C2 den
neuen wert reingeschrieben bekommen.
und genau da habe ich probleme.
kann mir da jemand helfen?
vielen dank im vorraus
gruss bernd
Bild

Betrifft: AW: geänderten wert aus zelle auslesen
von: MichaV
Geschrieben am: 02.03.2005 14:51:53
Hi,
was genau ist Dein Problem? Das die Werte nicht immer in die 2. Zeile geschrieben werden, oder daß Du den geänderten Wert kennst? Der Steht in Taget.Value. Für Dein Beispiel also
.Cells(IngZeile, 3).Value = Target.Value 'User in Spalte C
oder
.Cells(2, 3).Value = Target.Value 'User in Zelle C2
Gruß!
Bild

Betrifft: ich depp. falsche frage gestellt
von: Bernd
Geschrieben am: 02.03.2005 15:15:35
die korrekte frage zu meinem problem lautet:
wenn der user in der aktiven zelle den wert ändert, soll in
.Cells(IngZeile, 5).Value = neuer wert 'neuer wert in spalte E
d.h.
user klickt in zelle, der wert wird in
.Cells(IngZeile, 4).Value = ActiveCell 'Wert der aktiven Zelle in Spalte D
eingetragen.
bei verlassen der zelle soll nun
.Cells(IngZeile, 5).Value = neuer wert 'neuer wert in spalte E
geschehen. auch wenn der wert nicht verändert wird.
wobei der wert
.Cells(IngZeile, 4).Value = ActiveCell 'Wert der aktiven Zelle in Spalte D
nicht verändert wird.
ich hoffe das es einigermassen verständlich ist.
einfach gesagt,
user klickt in x-beliebige zelle, der wert wird in spalte D geschrieben. user ändert wert, dieser neue wert, eird in spalte E geschrieben.
so das man die werte vergleichen kann.
nochmals danke
gruss bernd
Bild

Betrifft: AW: ich depp. falsche frage gestellt
von: MichaV
Geschrieben am: 02.03.2005 15:27:49
Hi,
folgenden Code in Dein Tabellenblatt
Public alterWert As String

Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Target.Value = alterWert Then 
     'hier einfügen was passieren soll, wenn Zelle geändert wurde
   else
     'hier ggf. einfügen was passieren soll, wenn es keine Änderungen gab
   End If
   alterWert = Target.Value
End Sub


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   alterWert = Target.Value
End Sub

Hoffe, es hilft.
Gruß!
Bild

Betrifft: AW: geänderten wert aus zelle auslesen
von: MaBa
Geschrieben am: 02.03.2005 14:56:13
Hallo,
wenn ich das richtig verstanden habe möchtest du in C2 den Namen des Users geschrieben
haben. Das dient doch sicher nicht für die Mitarbeiterüberprüfung, das ist so eigentlich
gesetzlich nicht erlaubt.
Du brauchst dafür aber diesen Code (in das Modul der Arbeitsmappe):

Private Sub Workbook_Open()
    Dim Buffer As String * 100, BuffLen As Long
    BuffLen = 100
    GetUserName Buffer, BuffLen
    Username = Left(Buffer, BuffLen)
    Username = Left(Username, InStr(Username, vbNullChar) - 1)
    If Trim$(Username) = "" Then Username = Application.Username
End Sub

und dann so:
.Cells(IngZeile, 3).Value = Username 'User in Spalte C
Hoffe das hilft dir...
Gruß Marc
 Bild

Beiträge aus den Excel-Beispielen zum Thema "geänderten wert aus zelle auslesen"