auf mein Programm haben insgesamt 8 Leute zugriff. Jeder User ist einer bestimmten Schicht zugeordnet.
Mit diesem Programm lese ich den Benutzer aus:
Private Declare
Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" ( _
ByVal lpBuffer As String, nSize As Long) As Long
Sub GetUsersName()
Dim lngLen As Long, lngX As Long
Dim strUserName As String
strUserName = String$(254, 0)
lngLen = 255
lngX = GetUserName(strUserName, lngLen)
UsersName = VBA.Left$(strUserName, lngLen - 1)
Sheets("Daten").Range("E1") = UsersName
End Sub
Sub Test()
With Sheets("Daten")
i = 1
Zelle = .Cells(i, 3)
Do Until Zelle = .Range("E1")
i = i + 1
Zelle = .Cells(i, 3)
Loop
End With
End Sub
Und gebe dann den Namen und die Schicht im Formular an:
Private
Sub UserForm_Initialize()
With Sheets("Daten")
i = 1
Zelle = .Cells(i, 3)
Do Until Zelle = .Cells(1, 5) Or i = 12
i = i + 1
Zelle = .Cells(i, 3)
Loop
cboAutor.Text = .Cells(i, 1)
txtSchicht.Text = .Cells(i, 2)
End With
Aus für mich unerklärlichen Gründen funktioniert diese Abfrage leider nur auf meinem Computer, _
mit meiner Kennung und Schicht die ich zur Probe angelegt habe.
Ich stehe leider etwas auf dem Schlauch vielleicht habt ihr eine Idee?
Tabellen:
A B C D E
1 Ma1 S1 12341 hier wird die Kennung eingetragen
2 Ma1 S1 12342
3 Ma3 s3 12343
4 Ma4 s4 12344
5 Ma5 s5 12345
6 Ma6 s6 12346
7 Ma7 s7 12347
8 Ma8 s8 12348
9
10
11
12
Das Eintragen der Nummer aus C erfolgt in E1 bei allen Benutzern.
Nur findet anscheinend der vergleich nicht statt?
Mfg
Nele