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

code is traag

Status
Niet open voor verdere reacties.

wieter

Terugkerende gebruiker
Lid geworden
26 jun 2009
Berichten
1.128
Betreft de code achter blauwe knop (Week uit ComboBox printen)
Code:
Private Sub CommandButton3_Click() 'Week van ComboBox1 printen
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
If ComboBox1.Value = "" Then
MsgBox ("Je moet eerst een week kiezen." & vbNewLine & "Gebruik daarvoor de ComboBox.")
Exit Sub
End If
   For i = 3 To ActiveCell.Column - 1
    Columns(i).Hidden = True
   Next
    Range("B1:B21", Range(Cells(1, ActiveCell.Column), Cells(21, ActiveCell.Column + 13)).Address).PrintPreview
    Columns.Hidden = False
Sheets(1).ComboBox1.ListIndex = -1
'   Application.Goto Sheets("Blad1").Cells(1, 14 * Application.WeekNum(Date, 21) + 3)
'  Application.Goto Reference:=Cells(1, ActiveCell.Column), Scroll:=True
 '  Cells(2, ActiveCell.Column).Select
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
End Sub
Als men de eerste maal de knop gebruikt, verloopt de code vrij snel. (Ook voor een week achteraan in het jaar.)
Wanneer men nu een tweede keer de knop gebruikt voor vb. Week 50, duurt het extreem lang, voor het printvoorbeeld verschijnt.
Wat Kan hiervan de oorzaak zijn?
 

Bijlagen

  • Naar huidige week (horizontaal).xlsm
    102,9 KB · Weergaven: 38
Ik zet in op kolom voor kolom verbergen

probeer eens zoiets:
Code:
range("a3:a" & ActiveCell.Column).entirecolumn.hidden = true
 
Bedankt Eric,
Het kolom voor kolom verbergen is wel degelijk de oorzaak.
Maar jouw voorstel verbergt de gevraagde kolommen niet.
Code:
range("a3:a" & ActiveCell.Column - 1).entirecolumn.hidden = true
Spijtig.
Grtn Wieter
 
Ik dacht meer aan.
Code:
Range("c1", cells(1, ActiveCell.Column-1)).entirecolumn.hidden = true
 
Laatst bewerkt:
oops...

probeer dit eens:

Code:
Range(Cells(1, 3), Cells(1, ActiveCell.Column - 1)).EntireColumn.Hidden = True


edit: had 'm effe zo uitgetypt.... :d zie dat Harry 'm ook al heeft aangepast :thumb:
 
Laatst bewerkt:
Bedankt Eric en Harry,
Beide codes werken perfect.
Groeten Wieter
 
of

Code:
cells(1,3).resize(,14 * Application.WeekNum(combobox1.value, 21) ).entirecolumn.hidden=true
 
Bedankt SNB,
Ik moet nu wel overal het deeltje "Week :" voor de weeknummers weg laten.
Grtn Wieter
 
Gebruik:

Code:
Private Sub CommandButton3_Click() 'Week van ComboBox1 printen
   If ComboBox1.ListIndex > -1 Then
      Columns(3).Resize(, 14 * ComboBox1.ListIndex + 2).Hidden = True
      Range("B1:B21").Resize(, 14 * (ComboBox1.ListIndex + 3)).PrintPreview
      Columns.Hidden = False
    End If
End Sub

verwijder alle samengevoegde cellen.
vervang alle formules door waarden:

Code:
Sub M_snb()
  cells.value=cells.value
end sub

Het is echt overbodig in een kalender bij ieder wijziging vaststaande gegevens in een kalender (dagnummer, weeknummer, feestdagnaam) opnieuw te berekenen.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan