Herbers Excel-Forum - das Archiv

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
Excel-Beispiele zum Thema "geänderten wert aus zelle auslesen"
Mehrfachauswahl aus ListBox auslesen Dateien aus Listbox auslesen und öffnen
Bereich in RefEdit-Element eingeben und auslesen Auslesen der Arbeitsmappeneigenschaften
UserName aus der Windows-Registry auslesen Eintrag aus der Win.ini auslesen
Einzelnes Zeichen aus einer InputBox-Eingabe auslesen Ausgewählte Arbeitsblätter auslesen
Mehrfachauswahl in ListBox auslesen