Label waarde afhankelijk van maand

  • Onderwerp starter Onderwerp starter Neuz
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Neuz

Gebruiker
Lid geworden
21 aug 2012
Berichten
147
Beste,

Ik ben bezig met een documentje te maken waarin ik op het userform
wil wisselen van maand. Hierbij wil ik de labels laten mee wijzigen in
de verschillende dagen. Dus als voorbeeld

LabMaand = Januari dan
LabDag1 = Vr 01 Jan
LabDag2 = Za 02 Jan
enz.

LabMaand = Februari dan
LabDag1 = Ma 01 Feb
LabDag2 = Di 02 Feb
enz.

Ik heb al op veschillende sites gezocht maar helaas zonder resultaat.

Hopelijk is er hier iemand die me hiermee kan helpen.

Groet Neuz
 
Als je die data ook in een werkblad zet, kun je er naar verwijzen.

Bijv:

Code:
LabDag1.caption = Sheet1.range("A1").value
 
Zijn dat labels in een werkblad of een Userform? In het geval van een werkblad, gaat het dan om formulier- of ActiveX labels?
 
TS gaf al aan dat het om een userform gaat, dus dat lijkt mij duidelijk.
Je kunt een actie aan de keuzelijst hangen met zoiets:
Code:
Private Sub cboMaand_Click()
Dim i As Integer, iM As Integer
    Select Case cboMaand
        Case "Januari"
            iM = 1
        Case "Februari"
            iM = 2
        Case "Maart"
            iM = 3
    End Select
    For i = 1 To 31
        Me("LabDag" & i).Caption = StrConv(Format(DateSerial(Year(Date), iM, i), "ddd dd MMM"), vbProperCase)
    Next i
End Sub
Is niet helemaal foolproof, want labels die niet nodig zijn moet je natuurlijk verbergen.
 
Plaats svp een voorbeeldbestand. Je vraag is niet eenduidig.

In het Nederlands worden maandnamen en dagnamen met kleine letter geschreven.

Als in een combobox alle maandnamen op volgorde staan is de listindex+1 het maandnummer.
 
Laatst bewerkt:
Beste,

Hierbij mijn bestand. Het betreft Userform "FormMaand"
Ik heb de code van OctaFish weggeschreven onder de knop
"CmdPlus1Maand".

Bekijk bijlage Salarisberekening - Test.xlsm

Helaas werkte de oplossing van OctaFish nog niet naar behoren of ik
doe iets verkeerd, dat zal ongetwijfeld.

Hopelijk kunnen jullie me helpen.

Alvast bedankt.

Groet Neuz
 
Om te beginnen mis ik de keuzelijst waarmee je de maanden kiest. Of zie ik iets over het hoofd? Als we geen voorbeeld hebben, dan kun je van ons alleen dummy code verwachten die nooit gaat werken. Mijn code gaat er vanuit dat je een keuzelijst hebt die dboMaand heet. Maar waar staat die?
 
Beste,

Ik maak gebruk van de volgende knoppen op het userform om de maand te selecteren (zie afbeelding).
2017-02-03 12_39_48-Document1 - Microsoft Word.png

De maand wordt vervolgens weggeschreven op het worksheet "Gegevens" in de range "B3".
Vervolgens was mijn plan om de datum incl dag te laten zoeken op de worksheet "Kalender" dit omdat
er in een later stadium ook gegevens weer weggeschreven dienen te worden op datzelfde tabblad.

Indien dit makkelijker kan houd ik me graag aanbevolen.

Groet Neuz
 
Nu na een kleine aanpassing en gelezen te hebben dat OctaFish uitging van een keuzelijst heb ik de code
een klein beetje aangepast. De code werkt nu wel naar behoren.
De code welke het uiteindelijk is geworden is:
Code:
Dim i As Integer, iM As Integer
            Select Case .Range("B3")
                Case "Januari"
                    iM = 1
                Case "Februari"
                    iM = 2
                Case "Maart"
                    iM = 3
                Case "April"
                    iM = 4
                Case "Mei"
                    iM = 5
                Case "Juni"
                    iM = 6
                Case "Juli"
                    iM = 7
                Case "Augustus"
                    iM = 8
                Case "September"
                    iM = 9
                Case "Oktober"
                    iM = 10
                Case "November"
                    iM = 11
                Case "December"
                    iM = 12
            End Select
            For i = 1 To 31
                Me("LabDagN" & i).Caption = StrConv(Format(DateSerial(Year(Date), iM, i), "DDD DD MMMM"), vbProperCase)
            Next i

Bedankt voor de hulp
 
Is niet helemaal foolproof, want labels die niet nodig zijn moet je natuurlijk verbergen.

OctaFish heb jij ook nog een oplossing voor het verbergen van de labels in de verschillende maanden.
Dit is namelijk ook afhankelijk van een evt schrikkeljaar.
 
Maak een bestand met alleen het relevante formulier en baseer daar de vraag op. Datepickers werken bij de meesten niet en is ook een onnozele uitvinding. (mijn mening)

Select Case lijkt mij nogal veel code op te leveren.

De labels zijn denk ik wel eenvoudig te verwijderen door even te toetsen of het een geldige datum geeft. De totale willekeur in de comboboxen maakt het onmogelijk om deze op een logische wijze te verbergen.

In de bijlage een uitgekleed geheel waarin de + en - knoppen iets doen.
 

Bijlagen

Laatst bewerkt:
Beste,

In het uitgekleede bestand wordt wel het label bovenaan gewijzigd maar niet de
labels voor de verschillende invoervelden. Is hier ook nog een mogelijkheid voor
en dan ook de velden gelijk verbergen waarvoor geen datum van de betreffende maand
bestaat.

Hopelijk is dat mogelijk.

Groet Neuz
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan