Thema Datum  Von Nutzer Rating
Antwort
Rot Word-VBA - Externe Datenquelle aus Excel mit GetUser abfragen durch SVERWEIS/VLOOKUP
05.04.2012 18:00:36 Schorchi
NotSolved
07.04.2012 14:51:57 Gast41342
NotSolved

Ansicht des Beitrags:
Von:
Schorchi
Datum:
05.04.2012 18:00:36
Views:
1889
Rating: Antwort:
  Ja
Thema:
Word-VBA - Externe Datenquelle aus Excel mit GetUser abfragen durch SVERWEIS/VLOOKUP

Hallo werte Forengemeinschaft! 

Das vor kurzem gelöste Thema UserForm - Angemeldeten Benutzer erkennen http://www.office-loesung.de/ftopic518739_0_0_asc.php möchte nun verfeinert werden. 

Das Modul, welches den angemeldeten Benutzer erkennt und die entsprechenden Daten dazu liefert sieht so aus: 

 

Code:
Public Function GetUser() As String 
    GetUser = Environ("Userprofile") 
End Function 

Public Function UserAnrede() As String 
    If GetUser = "C:\Users\JAK" Then UserAnrede = "Herr" 
End Function 

Public Function UserVorname() As String 
    If GetUser = "C:\Users\JAK" Then UserVorname = "Tim" 
End Function 

Public Function UserNachname() As String 
    If GetUser = "C:\Users\JAK" Then UserNachname = "Jakobi" 
End Function 

Public Function UserNachnameshort() As String 
    If GetUser = "C:\Users\JAK" Then UserNachnameshort = "Jak" 
End Function 

Public Function UserFunktion() As String 
    If GetUser = "C:\Users\JAK" Then UserFunktion = "Tellerwäscher" 
End Function 

Public Function UserEmail() As String 
    If GetUser = "C:\Users\JAK" Then UserEmail = "tijakobi@bla.de" 
    If GetUser = "C:\Users\PET" Then UserEmail = "alpetri@bla.de" 
    If GetUser = "C:\Users\KOP" Then UserEmail = "hakoppner@bla.de" 
End Function 

Public Function UserEmailshort() As String 
    If GetUser = "C:\Users\JAK" Then UserEmailshort = "tijakobi" 
End Function 

Public Function UserTel() As String 
    If GetUser = "C:\Users\JAK" Then UserTel = "030 12 00 34 - 56" 
End Function 

Public Function UserTelshort() As String 
    If GetUser = "C:\Users\JAK" Then UserTelshort = "56" 
End Function


Heißt, dass alle abhängigen Daten also manuell im Modul eingetragen werden müssen. Jedoch ist der Datensatz um das Vielfache gestiegen. 

Ich frage mich, ob es eine auf einer Excel Datenbank basierte Lösung zu diesem Problem gibt. Vorstellbar wäre doch eine Excel-Tabelle mit den entsprechenden Zeilen und Spalten 

A B C D 
1 User Anrede Vorname Nachname 
2 JAK Herr Tim Jakobi 
3 PET Herr Kai Petri 

Sodass das VBA Modul durch 


Code:
Public Function GetUser() As String 
    GetUser = Environ("Userprofile") 
End Function


den Benutzer erkennt und dann den erkannten Benutzernamen (in diesem Fall "JAK") in der Exceltabelle sucht. 

Quasi ein SVERWEIS... 

Ich habe mich einmal daran versucht... leider funktioniert es noch nicht so wie es soll: 


 

 

Code:
Public Function GetUser() As String 
    GetUser = Environ("Username") 
End Function 

Public Function UserAnrede() As String 
UserAnrede = Application.VLookUp(GetUser, Workbooks("Y:\JAK\Basisdaten\PL05.04.2012.xlsx", Worksheets(" _BPL").Range("A2:R83"), 2, False)) 
End Function 

Public Function UserVorname() As String 
UserVorname = Application.VLookUp(GetUser, Workbooks("Y:\JAK\Basisdaten\PL05.04.2012.xlsx", Worksheets("BPL").Range("A2:R83"), 3, False)) 
End Function 

Public Function UserNachname() As String 
UserNachname = Application.VLookUp(GetUser, Workbooks("Y:\JAK\Basisdaten\PL05.04.2012.xlsx", Worksheets("BPL").Range("A2:R83"), 4, False)) 
End Function 

 

Das klappt aber definitv nicht... mein zweiter Versuch sah dann so aus:


 

Code:
Public Function GetUser() As String
    GetUser = Environ("Username")
End Function
 
Public Function Verweis()
Verweis = _
"=VLOOKUP(""jak"",'Y:\JAK\Basisdaten\[PL05.04.2012.xlsx]BPL'!R2C1:R83C19,4,FALSE)"
End Function
 
Public Function UserAnrede() As String
UserAnrede = _
"=VLOOKUP(GetUser,[Y:\JAK\Basisdaten\PL05.04.2012.xlsx]BPL!R2C:R83C[18],2,FALSE)"
End Function
 
Public Sub Try()
.Formular = _
"=VLOOKUP(""jak"",'C:\Users\TIMME\Documents\JAK\Basisdaten\[PL05.04.2012.xlsx]BPL'!R2C1:R83C19,4,FALSE)"
End Sub
 

Das haut auch hinten und vorne nicht hin... Nicht wundern: Das sind schlichtweg nur drei Versuche. Beim ersten und zweiten habe ich den GetUser durch den Text "jak" ersetzt, da bei GetUser ja Quasi das gleiche rauskäme. Dabei wollte ich schlichtweg nur eine Fehlerquelle vermeiden.

Leider bekomm' ich's einfach nicht hin einen Verweis auf die externe Datenquelle zu schreiben. 

PS: Die Datenquelle sollte dazu nicht geöffnet werden müssen.

 

Ich wäre wirklich verdammt dankbar, da kein einziges Forum und kein Googleergebnis - mit welchem Suchphrasen auch immer - dazu etwas auspuckt... oder ich mich einfach viel zu dumm anstelle. Aber im letzteren Fall bitte ich alle mir zu sagen warum ich mich dumm anstelle und um eine Lösung. Bin am verzweifeln.

Vielen Dank im Voraus und frohe Ostern!

Gruß Schorchi


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Word-VBA - Externe Datenquelle aus Excel mit GetUser abfragen durch SVERWEIS/VLOOKUP
05.04.2012 18:00:36 Schorchi
NotSolved
07.04.2012 14:51:57 Gast41342
NotSolved