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

Printen op basis van weeknummer

Status
Niet open voor verdere reacties.

WBonfrere

Gebruiker
Lid geworden
27 okt 2013
Berichten
8
Ik heb een werkmap met 2 werkbladen. Een met informatie voor de even week en een voor de oneven week.
Ik probeer nu een macro te maken met een printopdracht. Maar ik wil dat hij op basis van het weeknummer zelf kiest voor de even werkblad of oneven werkblad.
Hij mag verwijzen naar een cel dat het weeknummer aan geeft. Weet iemand of dit mogelijk is?
Alvast bedankt.
 
bv.
Code:
Sub hsv()
Sheets(2 + Application.IsEven(DatePart("ww", Date, vbMonday, vbFirstFourDays) * 1)).printout
End Sub
 
Deze code gaat mij weer iets te ver. Hahaha. :o
Stel ik heb een blad met de naam "Lijst 1" en een met de naam"Lijst 2".
Ik zou willen dat als het een even week is dat hij "Lijst 1" print en als het een even week is dat hij "lijst 2" print.
Indien er verwezen moet worden naar een weeknummer dan een verwijzing naar cel A2.
 
Beter?
Geen verwijzing naar cel A2.
Code:
Sub hsv()
Sheets([COLOR=#ff0000]"Lijst "& [/COLOR]2 + Application.IsEven(DatePart("ww", Date, vbMonday, vbFirstFourDays) * 1)).printout
End Sub
 
Code:
sub M_snb()
  sheets("lijst " & 1+[ISEVEN(WEEKNUM(TODAY(),21))]).printout
end sub
 
Laatst bewerkt:
@snb, Het ligt er aan of jouw 'weeknum,21' werkt in de versie van Ts.

Code:
Sub hsv()
Sheets("Lijst " & 2 - DatePart("ww", Date, vbMonday, vbFirstFourDays) Mod 2).printout
End Sub
 
Sorry voor de late reactie, maar had het even druk. Ik kreeg het niet voor elkaar. Maar ik heb deze oplossing eventueel bedacht. Waarbij de cel B1 het weeknummer is. Alleen krijg ik de foutmelding: "Compileerfout: Blok If zonder End If". Waar zit dan nu de fout?

Code:
Sub Huidige_week_afdrukken()
'
' Huidige_week_afdrukken Macro
'

'
    If Range("B1").Value = "1" Then
        Oneven_week_afdrukken
    If Range("B1").Value = "2" Then
        Even_week_afdrukken
    If Range("B1").Value = "3" Then
        Oneven_week_afdrukken
    If Range("B1").Value = "4" Then
        Even_week_afdrukken
    If Range("B1").Value = "5" Then
        Oneven_week_afdrukken
    If Range("B1").Value = "6" Then
        Even_week_afdrukken
    If Range("B1").Value = "7" Then
        Oneven_week_afdrukken
    If Range("B1").Value = "8" Then
        Even_week_afdrukken
    If Range("B1").Value = "9" Then
        Oneven_week_afdrukken
    If Range("B1").Value = "10" Then
        Even_week_afdrukken
    If Range("B1").Value = "11" Then
        Oneven_week_afdrukken
    If Range("B1").Value = "12" Then
        Even_week_afdrukken
    If Range("B1").Value = "13" Then
        Oneven_week_afdrukken
    If Range("B1").Value = "14" Then
        Even_week_afdrukken
    If Range("B1").Value = "15" Then
        Oneven_week_afdrukken
    If Range("B1").Value = "16" Then
        Even_week_afdrukken
    If Range("B1").Value = "17" Then
        Oneven_week_afdrukken
    If Range("B1").Value = "18" Then
        Even_week_afdrukken
    If Range("B1").Value = "19" Then
        Oneven_week_afdrukken
    If Range("B1").Value = "20" Then
        Even_week_afdrukken
    If Range("B1").Value = "21" Then
        Oneven_week_afdrukken
    If Range("B1").Value = "22" Then
        Even_week_afdrukken
    If Range("B1").Value = "23" Then
        Oneven_week_afdrukken
    If Range("B1").Value = "24" Then
        Even_week_afdrukken
    If Range("B1").Value = "25" Then
        Oneven_week_afdrukken
    If Range("B1").Value = "26" Then
        Even_week_afdrukken
    If Range("B1").Value = "27" Then
        Oneven_week_afdrukken
    If Range("B1").Value = "28" Then
        Even_week_afdrukken
    If Range("B1").Value = "29" Then
        Oneven_week_afdrukken
    If Range("B1").Value = "30" Then
        Even_week_afdrukken
    If Range("B1").Value = "31" Then
        Oneven_week_afdrukken

End Sub
 
If .....
.........
End if

Volgens mij kun je ook na Then, de regel die eronder staat, er achter zetten dan moet end if niet.
 
Laatst bewerkt:
En waarom niet 1 van de door HSV of snb geboden opties gebruiken?

Code:
Sub hsv()
Sheets("Lijst " & 2 - (Range("B1").Value Mod 2)).printout
End Sub

Waarbij ik me dan wel ff afvraag WAAR die Range("B1") staat? Als dat op de sheet Lijst1 of Lijst2 is, heb je een - oplosbaar - probleempje.
 
Als 'Even_week_afdrukken' en 'Oneven_week_afdrukken' aparte procedures zijn dan kan het het zo. Aangezien mod al een aantal keren voorbij is gekomen even een andere variant waarmee je kan toetsen of een getal even of oneven is.

Code:
Sub VenA()
  If Application.IsEven([B1]) Then Even_week_afdrukken Else Oneven_week_afdrukken
End Sub
 
Wat mij betreft mooi laten aanmodderen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan