ok.
nog eventjes terugkomen op die muggezifterij en in het licht van gisteren, een activate of een select is eigenlijk ook tijdrovend, dus behalve nadelig voor de leesbaarheid, is het ook niet efficient.
Zie eenvoudig voorbeeldje met 1000 keer een kolombreedte aanpassen = bijna maal 3 bij mij
Maar nu nog iets extra, als je ook nog zegt dat tussendoor het scherm niet moet aangepast worden(screenupdating=false), dan win je nog een keer tijd (meer dan 10 keer sneller dan de vorige tijd).
PS, kijk maar tot het 1e cijfer, max 2e, na de komma voor de grootte-orde, al de rest is zever.
bv; het 4e methode, scherm bevriezen zonder select, bij mij is 0.09 sec, die tijdsmeting is, behalve dat ze razend snel is, nauwelijks betrouwbaar.
Sub MetSelect()
t0 = Timer 'start de klok
For i = 1 To 1000 '1000 loops
Columns(i).ColumnWidth = 10 'kolombreede van een bepaalde kolom
Next
t1 = Timer 'tussentijd
For i = 1 To 1000 'weer 1000 loops
Cells(1, i).EntireColumn.Select 'eerst die kolom selecteren
Selection.ColumnWidth = 11 'kolombreedte
Next
t2 = Timer 'tussentijd
Application.ScreenUpdating = False 'beeld tussendoor niet aanpassen
For i = 1 To 1000 'weer 1000 loops
Cells(1, i).EntireColumn.Select 'eerst die kolom selecteren
Selection.ColumnWidth = 12 'kolombreedte
Next
t3 = Timer
For i = 1 To 1000 'weer 1000 loops
Cells(1, i).EntireColumn.ColumnWidth = 14 'kolombreedte
Next
MsgBox "zonder select : " & t1 - t0 & " sec" & vbLf & "met select : " & t2 - t1 & " sec" & vbLf & "met screenupdating en select : " & t3 - t2 & " sec" & vbLf & "met screenupdating zonder select : " & Timer - t3 & " sec"
End Sub