VBA-Sverweis + Datum, mehr als 1 Zelle
02.05.2009 16:43:02
Alex
mit diesem Code führe ich für eine Datei einen Bearbeiternachweis.
Das läuft so, wenn jemand auf dem 1. Tabellenblatt eine Eintragung macht, wird dies auf dem 2. Tabellenblatt mit Name und Datum protokolliert.
Das geht, wenn man nur 1 Zelle beschreibt oder die Eintragung dort löscht.
Macht man es mit mehreren Zellen, sagt Excel "Typen unverträglich".
Dann schreibt XL nicht den Namen und das Datum in die entsprechenden Zellen, sondern die Formel:
=SVERWEIS(4682232;'Z:\Dateipfad\[Basis.xls]Tabelle1'!$K$5:$N$200; 2; FALSCH) & "," & " " & SVERWEIS(4682232;'Z:\Dateipfad\[Basis.xls]Tabelle1'!$K$5:$N$200; 3; FALSCH)
Das Problem liegt scheinbar an dem "& Date".
Arbeite ich ohne "& Date" in dem Code, nur mit ".Value", dann gehts - dann wird halt der Name ohne Datum in die entsprechenden Zellen geschrieben.
ist es möglich den Code so zu verändern dass die Formel im Code dann so lautet?:
=SVERWEIS(4682232;'Z:\Dateipfad\[Basis.xls]Tabelle1'!$K$5:$N$200; 2; FALSCH) & "," & " " & SVERWEIS(4682232;'Z:\Dateipfad\[Basis.xls]Tabelle1'!$K$5:$N$200; 3; FALSCH) &" " & TEXT(HEUTE();"TT.MM.JJJJ")
hier ist der aktuelle Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sUser As String
Dim rZelle As Range
ActiveSheet.Unprotect "Kennwort"
sUser = Environ$("USERNAME")
'Zelle
Set rZelle = Sheets("Bearbeiternachweis").Range(Target.Address)
'Sverweisformel
With rZelle
.Formula = "=VLookup(" & sUser & "," & _
"'Z:\Dateipfad\[Basis.xls]Tabelle1'!$K$5:$N$200, 2, False) & "","" & "" "" & _
VLookup(" & sUser & "," & _
"'Z:\Dateipfad\[Basis.xls]Tabelle1'!$K$5:$N$200, 3, False)"
.Formula = .Value & " - " & Date
End With
ActiveSheet.Protect "Kennwort", userinterfaceonly:=True
ActiveSheet.EnableAutoFilter = True
End Sub
Danke für die Hilfe,
Gruss
Alex