• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

eigenaar naam in excel

Status
Niet open voor verdere reacties.

knarfje

Gebruiker
Lid geworden
12 mrt 2001
Berichten
817
Hallo,

Ik wil dat er in een cel in mijn excel werkblad automatisch de naam van het persoon komt dat staat ingelogd in windows. Dus de gebruikers naam)

Is dit mogenlijk en hoe doe ik dit.
 
Plak dit in een nieuwe module in VBA:

Code:
Function UserName() As String
    UserName = Environ("USERNAME")
End Function

In je cel zet je dan

=UserName()

Wigi
 
Probeer deze eens:
Code:
Option Explicit
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
                                                        (ByVal lpBuffer As String, _
                                                        nSize As Long) As Long

Sub Get_User_Name()
    
    Dim lpBuff As String * 25
    Dim ret As Long, UserName As String
    ret = GetUserName(lpBuff, 25)
    UserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)
    MsgBox UserName
    Range("A2") = UserName
    
End Sub

Verander Range("A2") in de range waarin je de naam wilt hebben.

Groet,
Ferenc
 
Yep,

Die werkt (vond het al zo raar :))
Thanks.

Groet,
Ferenc
 
Waarom doe je dit niet zoals ik geschreven had?

Plak dit in een nieuwe module in VBA:

Code:
Function UserName() As String
    UserName = Environ("USERNAME")
End Function

In je cel zet je dan

=UserName()

Wigi

Je hebt de code niet geplakt, en tevens moet je dit gebruiken:

=UserName()

Wigi
 
Oke ik heb dus wat over het hoofd gezien>

Plakken in een module? hoe en waar doe ik dat?
 
Doe Alt-F11, je komt in de VBE terecht. Doe Insert > Module en plak de code. Sluit af met het kruisje.

Wigi
 
Je kan trouwens vergelijken met mijn voorbeeldbestandje van een paar posts hoger.
 
Je kan trouwens vergelijken met mijn voorbeeldbestandje van een paar posts hoger.

Yep, gevonden en gelukt.

Maar... Als ik van dit werkblad nu een template maak en verschillende mensen gebuiken dit word dan de username aangepast,(geupdate zeg maar?)
 
Heb ik zelf nog nooit gedaan, maar ik vermoed van wel ja.
 
Jammer, dat updaten, dus als het formulier bij een ander persoon vandaan komt blijft zeg maar mijn logon naam erin staan.

Iemand een idee dat ie dit ook kan "updaten"?
 
knarfje,

Je kan ook een check uitvoeren of de cel waarin je username staat al gevuld is.

Je begint met een lege cel in je template. Deze wordt geopent door persoon X.
Nu wordt zijn username in bv. cel A1 ingevuld mbv enig vba.

Om deze vba code maken we een controle om te kijken of cel a1 al gevuld is of niet.
Code:
Private Sub Workbook_Open() 
If Range("C1") = "" Then 
     Run macro username
End If 
End Sub

Is deze cel vol den gebeurt er niks. en blijft de juiste naam in je cel.

Let wel op de locatie van de boven genoemde code.
Deze moet worden geplaatst op: This workbook

Zo zal dus altijd de username van de 1e gebruiker in je form blijven staan.


Groet,
Ferenc

ps.
Thanks to jpvs, welke deze code vandaag in een andere thread poste.
(niet dat we er anders niet opgekomen waren :), vandaag een goede bui)
 
Zet dit in de code van het bestand bij ThisWorkbook:

Code:
Private Sub Workbook_Open()
Range("A1") = Environ("USERNAME")
End Sub

Verander A1 indien nodig.

Wigi
 
Probeer onderstaande eens.
Code:
Sub OpvragenEnvVar()
'
' OpvragenEnvVar Macro
' De macro is opgesteld op 16-04-02 door Jan van Asseldonk.
' De inhoud van de environmentvariabelen opvragen en deze in blad 3 plaatsen.

'
Worksheets("Blad3").Activate
    For i = 1 To 100
        Range("b" & i).Formula = "Environmentvariabele " & i & " = "
        Range("c" & i) = Environ(i)
    Next
    End Sub

Met deze macro krijg je een overzicht van alle variabelen in het environment.
Nummer 27 is de ingelogde gebruiker.
Door bij het openen van de sheet deze variabele in een cel te plaatsen heb je hier altijd de inlognaam van de gebruiker staan. Dat is ook hetgeen Wigi in een van de eerste posts aangeeft. Hij gebruikt alleen de naam i.p.v. het nummer.
 
Probeer onderstaande eens.
Code:
Sub OpvragenEnvVar()
'
' OpvragenEnvVar Macro
' De macro is opgesteld op 16-04-02 door Jan van Asseldonk.
' De inhoud van de environmentvariabelen opvragen en deze in blad 3 plaatsen.

'
Worksheets("Blad3").Activate
    For i = 1 To 100
        Range("b" & i).Formula = "Environmentvariabele " & i & " = "
        Range("c" & i) = Environ(i)
    Next
    End Sub

Met deze macro krijg je een overzicht van alle variabelen in het environment.
Nummer 27 is de ingelogde gebruiker.
Door bij het openen van de sheet deze variabele in een cel te plaatsen heb je hier altijd de inlognaam van de gebruiker staan. Dat is ook hetgeen Wigi in een van de eerste posts aangeeft. Hij gebruikt alleen de naam i.p.v. het nummer.


hallo, ik ben wel een excel noob hoor:o
Waar zet ik nummer 27 dan in?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan