• 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.

Environ("username")

Status
Niet open voor verdere reacties.

popipipo

Meubilair
Lid geworden
21 nov 2006
Berichten
9.098
Besturingssysteem
Win11
Office versie
Office 365
Code:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    
'    ###########################################################
'    ##  usernaam dmv dubbel klikken invoeren                 ##
'    ###########################################################
    
    
    If Not Intersect(Target, ActiveSheet.Range("unaam")) Is Nothing Then
          Application.ScreenUpdating = False
          ActiveSheet.Unprotect
            If Target.Value = "" Then
               With ActiveCell
                [COLOR="#FF0000"] .Value = Environ("username")[/COLOR]
                 .Font.Name = "Verdana"
                 .Font.Size = 12
                   Target.Offset(1, 0).Select
               End With
                ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=False
                Application.ScreenUpdating = True
         Else
If MsgBox("Wilt u de PARAAF echt wijzigen?", vbYesNo + vbDefaultButton2, Title:="Paraaf wijzigen!") = vbNo Then
            Target.Offset(1, 0).Select
                ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=False
                Application.ScreenUpdating = True
         Else
          Application.ScreenUpdating = False
          ActiveSheet.Unprotect
               With ActiveCell
                 .Value = Environ("username")
                 .Font.Name = "Verdana"
                 .Font.Size = 12
                   Target.Offset(1, 0).Select
               End With
                ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=False
                Application.ScreenUpdating = True
    End If
  End If
End If
End Sub

Door middel van bovenstaande code verschijnt de windows inlog naam in een cel, dit werkt perfect.

Ik zit echter met een collega.
Ze is net gescheiden en haar ex mans naam komt nu in de cel.
Je zou zeggen eenvoudig opgelost door de inlog naam van windows te veranderen, echter onze ICT doet erg moeilijk en wil/kan dit niet veranderen om voor mij onbekende reden.

Om toch haar tegemoet te komen zou ik alleen voor haar mijn VBA zo willen veranderen dat bij haar alleen de excel naam getoond wordt.

Eenvoudig gezegd als ' .Value = Environ("username")' = jansen dan value 'username uit excel'


Zij zou hier heel gelukkig mee worden.
Wie wil mij, maar vooral haar, helpen.
 
Code:
application.UserName

Zal het dan wel doen. Al denk ik niet dat het werkt. Raar verhaal eigenlijk. Zelfde login zal ook een zelfde username geven.
 
Laatst bewerkt:
Je windows inlog naam staat vast echter je excel naam kun je wel zelf wijzigen.

Environ("username") geeft als waarde je windows inlog naam

application.UserName geeft de naam die je in excel onder 'options' 'general' 'Personalize your copy of Microsoft Office' in geeft

Dit hoeft dus niet gelijk te zijn.
Dat het raar is van onze ict ben ik met je eens maar heb daar geen invloed op.
 
In vba moet dus iets komen te staan van

if Environ("username")= "jansen" then
application.UserName else
Environ("username")


Bij iedereen moet dus de regel 'environ ("username")' gebruikt worden.
Behalve bij mevr jansen daar moet de regel 'application.UserName' gebruikt worden.
 

Bijlagen

Je hebt het al voor elkaar Willem
Beetje anders uitwerken en klaar.

If ..... = "...." then
doe dit
else
doe dat
end if

Kan ook in een regeltje.
 
Ik kan je uit ervaring vertellen dat dat inderdaad een hoop gedoe geeft. Vaak is je inlognaam al een afgeleide van je naam, dan heb je nog een email adres dat veranderd (maar email aan het oude adres moet alsnog doorgestuurd), gebruikersnamen in diverse applicaties, etc., etc.. Reden om bij sommige bedrijven standaard al de meisjesnaam te gebruiken. Of in dit moderne tijdperk voor alle geslachten de geboortenaam.

Maar goed. ICT zou dit moeten oplossen.


Inhoudelijk kan ik je helaas niet helpen. Mijn vba kennis is wat aan de roestige kant.
 
En dat beetje uitwerken lukt juist niet
 

Bijlagen

Maar goed. ICT zou dit moeten oplossen.

Een nieuwe werknemer aan maken en de bestaande bestanden er aan koppelen lijkt mij niet zo moeilijk.
Het emailadres is bij haar wel gewijzigd.
 
De .Value = verwijderen.
Code:
If .Value = Environ("username") = "Jansen" Then    ' WINDOWSNAAM
 
Het werkt hier en dan zal het op mijn werk ook wel werken.
Hartelijk dank.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan