IF.....kiezen uit meerdere opties?

Status
Niet open voor verdere reacties.

harrybrinkman

Gebruiker
Lid geworden
7 nov 2019
Berichten
95
LS,

in VBA (This Workbook) geef ik aan dat indien de gebruikersnaam overeenkomt met de inhoud van cel A1 dan moet ie een actie uitvoeren. Dit zou ik graag uitbreiden naar een lijst met namen (bv. cel A1 tm A5) zodat, als de actuele gebruikersnaam overeenkomt met 1 van de namen in de lijst de actie wordt uitgevoerd. Ik heb geprobeerd de Range aan te passen naar A1:A5 maar dat werkt niet. Wie weet raad?

Code:
Private Sub Workbook_Open()
    If Application.UserName = Sheets("Test").Range("A1") Then
        UserForm1.Show
    End If
End Sub

ik heb een voorbeeldbestand bijgevoegd voor de duidelijkheid,

mvrgr,
Harry
 

Bijlagen

  • testinlog2.xlsb
    15,4 KB · Weergaven: 22
Code:
Private Sub Workbook_Open()
Set Rng = Sheets("Test").Range("A1:A5")
 For Each c In Rng
    If Application.UserName = c Then
        UserForm1.Show
    End If
Next c
End Sub
 
Of:
Code:
Private Sub Workbook_Open()
    If InStr(1, Join(Application.Transpose(Sheets("Test").Range("A:A").SpecialCells(2).Value), "|"), Application.UserName) > 0 Then UserForm1.Show
End Sub

Net als VenA zou ik ook Environ("username") gebruiken.
 
Laatst bewerkt:
Zoeken gaat wat sneller dan een lusje
Code:
Private Sub Workbook_Open()
  r = Application.Match(Application.UserName, Sheets("Test").Columns(1), 0)
  If IsNumeric(r) Then UserForm1.Show
End Sub

Persoonlijk zou ik de Windows gebruikersnaam gebruiken.
Code:
environ("username")
 
Code:
Private Sub Workbook_Open()
  If Not Blad1.Cells.Find(Environ("username")) Is Nothing Then UserForm1.Show
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan