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

Bepaalde pagina openen bij eerste x bestand open.

Status
Niet open voor verdere reacties.
Als een gebruiker niet eerder dat document heeft geopend bestaat dat object nog niet en is EersteKeer dus Nothing.
 
test de bijlage eens
en zeg eens wat de msgbox weer geeft de eerste en 2 de x doorlopen
 

Bijlagen

Laatst bewerkt:
De eerste keer geeft dat fout 91 en dat komt omdat dat object dan nog niet bestaat.
De 2e keer geeft dat ="Passed"
 
Niets anders.
Dat is correct.
 
hoe kan ik dan de naam van de gebruiker terug krijgen
 
In de code zie je dat dat object wordt verborgen.
Als je het niet verbergt kan je met CTRL-F3 de Name objecten bekijken.
 
ik bedoel wel wil in de msgbox krijgen username_firsttime en niet passed
 
Het is gewoon een object en daar kan je de naam van opvragen:
Code:
MsgBox EersteKeer.Name
 
thx
Want ben aan het kijken om met uw code verder te bouwen namelijk kijken of er al een naam instaat zo ja dan deze verwijderen en bepaalde cellen op een blad leeg maken en ook bepaalde bladen verwijderen
 
In plaats van dat object de waarde "Passed" te geven kan je uiteraard ook de naam van de gebruiker er in zetten:
Code:
ThisWorkbook.Names.Add Naam, Environ("username")
 
weet ik wel
Maar is maar als collega's het onderling zouden door geven dat de andere collega zijn gegevens er niet instaan
Bedankt als vast
 
hoe zou ik de waarde kunnen uitlezen en die vergelijken

dus in ons geval bv passed vergelijken met de waarde =passed
want eerstekeer.value geeft iets raar terug "="passed""

wat doe ik mis om de juiste waarde terug te krijgen
 
Laatst bewerkt:
Dat deed je al eerder:
Code:
Waarde = ThisWorkbook.Names(Environ("username") & "_FirstTime")
De waarde is dan: ="Passed"
 
Ik vermoed dat TS dit bedoelt.

if lcase(waarde) = "passed" then
 
Die verduidelijking zat ik dus van TS op te wachten.
Maar bijvoorbeeld zo dus:
Code:
If LCase(Split(ThisWorkbook.Names(Environ("username") & "_FirstTime"), Chr(34))(1)) = "passed" Then
 
Stel dat het programma gebruikt word door een nieuwe gebruiker hoe kan ik dan de naam van de vorige gebruiker verwijderen zonder de ander namen te verwijderen
 
Zou het zo oplossen zodat enkel deze met _firsttime time verwijderd worden en die niet overeenkomen met de huidige gebruiker

Code:
Dim IntUnderscore As Integer
DefinedNaam = Environ("username") & "_FirstTime"       'Definieer een naam voor een Name object
On Error Resume Next
Set EersteKeer = ThisWorkbook.Names(DefinedNaam)       'Haal de gegevens van dat object op
On Error GoTo 0

 For Each TeVerwijderenNaam In ActiveWorkbook.Names
   IntUnderscore = InStr(TeVerwijderenNaam.name, "_firsttime")
    If IntUnderscore > 1 And EersteKeer.name <> TeVerwijderenNaam.name Then
           Debug.Print TeVerwijderenNaam.name, TeVerwijderenNaam.RefersTo, TeVerwijderenNaam.Value
    End If
  Next TeVerwijderenNaam
    End If
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan