Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA-Sverweis mit UserName

VBA-Sverweis mit UserName
05.02.2009 12:47:52
Alex
Hi,
mit diesem Code-Teil wird der User, welcher in meiner Datei etwas verändert verewigt. :-)
Select Case Target.Column
Case 14, 17, 20, 22, 24, 25, 29, 31, 34, 38, 40, 47, 49, 51, 53, 55, 56
Sheets("Bearbeiternachweis").Range(Target.Address).Value = Application.UserName & " - " & Date
nun möchte ich diesen UserName aber in einen dazugehörigen Namen wandeln, den ich in der Datei "Basis" aufgeführt habe.
Pfad: "'Z:\EHu_1\Polizeitraining\Basisdaten\[Basis.xls]Tabelle1'!K5:N200, 4, False)"
An der Stelle "Application.UserName" müsste dann der VBA Sverweis stehen, mit Suchkriterium UserName.
Könnt ihr mir helfen, wie man das schreiben muss?
Vielen Dank
Alex
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
geht es so?
05.02.2009 16:00:53
Tino
Hallo,
versuche es mal hiermit.
Sub test()
Dim sUser As String, sFormel As String, sName
Dim rZelle As Range

'ich würde diesen verwenden, angemeldeter Username 
sUser = Environ$("USERNAME")
'Zelle 
Set rZelle = Sheets("Bearbeiternachweis").Range(Target.Address)
'Userbname + Datum 
rZelle.Value = sUser & " - " & Date
'Sverweisformel 
sFormel = "VLOOKUP(""" & sUser & """,'Z:\EHu_1\Polizeitraining\Basisdaten\[Basis.xls]Tabelle1'!R5C11:R200C14,4,FALSE)"
'Name lesen 
sName = ExecuteExcel4Macro(sFormel)
'Name in Zelle daneben schreiben 
rZelle.Offset(0, 1) = IIf(IsError(sName), "nicht gefunden", sName)


End Sub


Gruß Tino

Anzeige
@Tino:geht so! nur das Datum nicht
06.02.2009 12:23:43
Alex
Hi Tino,
läuft so, nur das Datum schreibt er nicht.
Ich hatte weiterhin vergessen zu erwähnen, dass "Bearbeiternachweis das zweite Sheet ist.
Verändert wird in Sheet "Rettungsschwimmen".
Geht aber trotzdem (durch die Ansprache: Sheets ("Bearbeiternachweis")).
Nur das Datum nicht.
Danke für deine Mühe, konnte gestern nicht mehr antworten (Feierabend).
Alex
Anzeige
@Tino: geht so! nur das Datum nicht
06.02.2009 12:29:28
Alex
Hi Tino,
Danke für deine Mühen,
Hatte vergessen das "Bearbeiternachweis" ein zweites Sheet ist.
Verändert wird in Sheet "Rettungsschwimmen". Läuft aber trotzdem so (durch die Ansprache mit Sheets ("Bearbeiternachweis").
Nur das Datum wird nicht mit angezeigt.
Danke nochmal,
Alex
Anzeige
Problem gelöst! Danke!o.w.T.
06.02.2009 12:37:13
Alex
.
und was war es? oT.
06.02.2009 12:46:18
Tino
Entschuldige!Natürlich m.T.
06.02.2009 16:07:00
Alex
Hi Tino,
letzte Zeile des Codes nicht so:
rZelle.Offset(0, 0) = IIf(IsError(sName), "nicht gefunden", sName)
sondern:
rZelle.Offset(0, 0) = IIf(IsError(sName), "nicht gefunden", sName & " - " & Date)
Kleinigkeit, sogar für mich.
hier nochmal der Gesamt-Code (steht im Modul von "Rettungsschwimmen")

Private Sub Worksheet_Change(ByVal Target As Range)
Dim sUser As String, sFormel As String, sName
Dim rZelle As Range
'ich würde diesen verwenden, angemeldeter Username
sUser = Environ$("USERNAME")
'Zelle
Set rZelle = Sheets("Bearbeiternachweis").Range(Target.Address)
'Userbname + Datum
rZelle.Value = sUser & " - " & Date
'Sverweisformel
sFormel = "VLOOKUP(""" & sUser & """,'C:\Dateipfad)"
'Name lesen
sName = ExecuteExcel4Macro(sFormel)
'Name in Zelle daneben schreiben
rZelle.Offset(0, 0) = IIf(IsError(sName), "nicht gefunden", sName & " - " & Date)
End Sub


Danke nochmal, Gruss
Alex

Anzeige
AW: Entschuldige!Natürlich m.T.
06.02.2009 17:12:45
Tino
Hallo,
ach so, der Wert soll in der gleichen Zelle stehen, dann brauchen wir nicht offset gehen.
Ich würde auch anstatt nicht gefunden, den Anmeldenamen eintragen,
weil mit allein nicht gefunden kann man nicht viel anfangen.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim sUser As String, sFormel As String, sName
Dim rZelle As Range
'ich würde diesen verwenden, angemeldeter Username
sUser = Environ$("USERNAME")
'Zelle
Set rZelle = Sheets("Bearbeiternachweis").Range(Target.Address)
'Sverweisformel
sFormel = "VLOOKUP(""" & sUser & """,'C:\Dateipfad....)"
'Name lesen
sName = ExecuteExcel4Macro(sFormel)
'Name in Zelle schreiben
rZelle = IIf(IsError(sName), sUser & " - " & Date, sName & " - " & Date)
End Sub


Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige