Kan sneller

Status
Niet open voor verdere reacties.

rhvanloenen

Gebruiker
Lid geworden
25 nov 2012
Berichten
26
Uit een ander bestand wordt een waarde gelezen aan de hand waarvan een aantal cellen blauw moet worden,inkleuren.JPG.
Dit gaat op zich goed, maar kost heel veel tijd en in denk, ik weet haast wel zeker, dat dat sneller kan.
Maar hoe.
Hieronder het deel van het script dat ik nu gebruik.

Ronald


With ActiveSheet
LastRow = .Cells(.Rows.Count, "C").End(xlUp).Row
End With
Cells(1, 1) = LastRow
For blauw = 4 To LastRow + 1
If Cells(blauw, 3) = "" Then GoTo overslaan
For kolom = 6 To 14
Cells(23, 17) = blauw
For aantal = 1 To Cells(blauw, 5)
Range(Cells(blauw, aantal + 5), Cells(blauw, aantal + 5)).Interior.ColorIndex = 34
Next aantal
Next kolom
overslaan:
Next blauw
 
1. gebruik svp code tags rondom VBA code
2. plaats svp Excel voorbeeldbestanden in plaats van plaatjes.
 
3. Gebruik geen Goto
 
Volgens mij is dit voldoende.

Code:
Sub VenA()
  Blad1.Range("F4:N" & Cells(Rows.Count, 3).End(xlUp).Row).SpecialCells(2).Interior.ColorIndex = 34
End Sub
 
werkt prima

Bouw wel in Excel, maar moet nog een hoop,leren.
Dit helpt bij ook weer een stuk verder.
 
VenA, toch niet helemaal

Hallo,

Ik dacht dat het werkte zoals ik bedoelde, maar de cellen die blauw moeten zijn moet gelijk zijn aan het aantal in kolom E. Met jouw script worden ze blauw als ze gevuld zijn. In principe wordt het overzicht leeg aan derden gegeven die dan direct kunnen zien hoeveel hokjes (klassen) gevuld moeten worden met een docentenafkorting. Dat aantal (-klassen) komt uit een ander prognosebestand. Wat er nu gebeurd had ik eerst ook met voorwaardelijke opmaak.
 
Ook in het onderwijs gebeurt toch echt alles met een t.
 
Waarom plaats je dan een misleidend plaatje?

Probeer het zo maar eens.
Code:
Sub VenA()
For Each cl In Range("E4:E" & Cells(Rows.Count, 3).End(xlUp).Row).SpecialCells(2, 1)
    cl.Offset(, 1).Resize(, cl).Interior.ColorIndex = 34
Next cl
End Sub
 
Laatst bewerkt:
werkt nu goed maar geeft tot slot foutmelding

Je scriptje werkt prima, maar als er in een cel in kolom E de waarde 0 staat, gaat het mis.
Omdat de waarden uit een ander bestand komen kunnen er nullen blijven voorkomen.
Ik heb een voorbeeldsheet toegevoegd.
 

Bijlagen

Laatst bewerkt:
Dan moet je ervoor zorgen dat er pas wat gebeurt als cl > 0 is.

If cl > 0 then...................
 
Werkt zoals ik het graag zou willen.
Had al wel met cl > 0 wat geprobeerd maar op de verkeerde plek.
tnx.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan