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

VBA code korter maken meerdere if else statements

Status
Niet open voor verdere reacties.

Luuk12345

Gebruiker
Lid geworden
10 aug 2008
Berichten
323
Hallo allen,

Ik heb een listbox gemaakt met daarin de waardes 1 t/m 31 (waardes staan voor de dag van de maand).
Wat ik graag wil is dat bij het openen van de listbox automatisch het dagnummer van vandaag wordt geselecteerd. Nu heb ik de volgende code die werkt, maar lijkt mij erg inefficiënt:

In cel B1 wordt met de volgende formule het dagnummer verkregen.
Code:
=dag(vandaag())

Code:
If Range("B1").Value = 1 Then
ListBox1.ListIndex = 0
Else
If Range("B1").Value = 2 Then
ListBox1.ListIndex = 1
Else
If Range("B1").Value = 3 Then
ListBox1.ListIndex = 2
Else
If Range("B1").Value = 4 Then
ListBox1.ListIndex = 3
Etc.

Ook heb ik het volgende geprobeerd, alleen hiermee wordt de verkeerde dag geselecteerd:
Code:
ListBox1.ListIndex = (Day(Today) - 1)

Graag zou ik willen weten of dit korter kan en hoe (en hoe ik eventueel de 2e methode kan gebruiken).

Alvast bedankt!

Groet,
Luuk
 
En deze?
Code:
ListBox1.ListIndex = Day(Date) - 1

Of:
Code:
ListBox1.ListIndex = Range("B1") -1
 
Laatst bewerkt:
Fantastisch! Het werkt.

Functie werkt voor aparte dag en maand listbox. Het selecteren voor het jaar heb ik op onderstaande manier opgelost.

Code:
ListBox1.ListIndex = Day(Date) - 1
ListBox2.ListIndex = Month(Date) - 1
ListBox3.ListIndex = Year(Date) - 2018

Bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan