Gebruikers tellen

Status
Niet open voor verdere reacties.

Ron001

Gebruiker
Lid geworden
4 dec 2017
Berichten
384
Allen

Is het mogelijk om enkel het tabblad “Users” te tonen als ikzelf inlog?
Telkens als er iemand deze file opent zou ik achter de naam van deze persoon (in het tabblad “Users”) +1 willen doen.
Uiteindelijk deze waardes van hoog naar omlaag sorteren.

(Replace(Environ("username"), ".", " ") heb ik al eens eerder gebruikt om “iemand” te herkennen.
Ik weet niet of er een andere/betere manier is?

Mvg
 

Bijlagen

  • Map1.xlsm
    8,5 KB · Weergaven: 32
Om het blad Users alleen te tonen wanneer je zelf inlogt en het ophogen van de teller, dit in de ThisWorkbook sectie:
Code:
Private Sub Workbook_Open()
    Sheets("Users").Visible = IIf(LCase(Environ("username")) = [COLOR="#FF0000"]"ron00"[/COLOR], True, xlVeryHidden)
    Set c = Range("A:A").Find(Environ("Username"), Range("A3"), , xlWhole, , xlNext, False)
    If Not c Is Nothing Then c.Offset(, 1) = c.Offset(, 1) + 1
End Sub
 
Laatst bewerkt:
Dit werkt inderdaad goed.
Maar we zitten met een 40 a 50 gebruikers waarvan er steeds bijkomen en afvallen.
Zou het ook mogelijk zijn dat ik deze Environ “Username” niet zelf ingeef.
Maar gewoon elke nieuwe Environ “Username” die de file opent er automatisch bijkomt in de lijst? Als de Environ “Username” er al is, er gewoon +1 wordt gedaan achter de juiste Environ “Username”?
 
Dat kan:
Code:
Private Sub Workbook_Open()
    LR = Sheets("Users").Range("A3").CurrentRegion.Rows.Count + 3
    Sheets("Users").Visible = IIf(LCase(Environ("username")) = "ron00", True, xlVeryHidden)
    Set c = Range("A:A").Find(Environ("Username"), Range("A3"), , xlWhole, , xlNext, False)
    If Not c Is Nothing Then
        c.Offset(, 1) = c.Offset(, 1) + 1
    Else
        Sheets("Users").Cells(LR, 1) = Environ("Username")
        Sheets("Users").Cells(LR, 2) = 1
    End If
End Sub
 
Code:
Private Sub Workbook_Open()
  With Sheets("Users")
    .Visible = 2 + 3 * (LCase(Environ("username")) = "ron000")
    
    If .Columns(1).Find(Environ("Username")) Is Nothing Then .Cells(Rows.Count, 1).End(xlUp).Offset(1) = Environ("username")
    With .Columns(1).Find(Environ("Username"))
      .Offset(, 1) = .Offset(, 1) + 1
    End With
  End With
End Sub
 
Laatst bewerkt:
Gaat hier over Edmoor

• Code geeft een foutmelding bij openen omdat ik in de Workbook_open al iets staan heb dat deze steeds op de juiste week moet openen.
Moet niet geopend worden op tabblad “Users”. Maar op bovenstaande…
• Als ik het voor mezelf test, komt er meerdere keren mijn Environ”Username” onder elkaar te staan. Deze begint dan steeds terug te tellen vanaf 0.
 
Geen idee.
Het werkt hier in je voorbeeld document prima.

Heb je die van snb ook getest?
 
Heb deze van snb nu getest en werkt bij mij...
Alleen krijgen de andere gebruikers een foutmelding en krijgen zij het tabblad "Users" te zien.

Gaat hij in de code van snb steeds al direct het tabblad "Users" oproepen? Ook als andere personen inloggen?
Kan hierdoor de foutmelding er op komen?

Code:
With Sheets("Users")
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan