Halllo allemaal,
Ik zou graag een macro willen om in een werkboek met meerdere bladen te zoeken naar cellen die een bepaalde RGB kleurcode (bij voorkeur meer dan 1 kleur te kunnen zoeken) hebben en daar waar deze voorkomen de kolommen (let op niet rijen) te verwijderen. De kleur kan overal voorkomen en let op het dient de hele kolom te verwijderen niet de cell alleen. Ik heb al een script gevonden na heel lang zoeken. Maar verveldende ervan is:
1. Hoe groter de range de meer het vastloopt (bij 1000 heeft het al wat laadtijd nodig in 1 blad
2. Werkt alleen in actieve sheet bij draaien van script
3. Er kan maar gezocht worden op 1 kleur
4. Error 1004 command cannot use overlapping selections als je dezelfde rgb kleurcode meer dan 1 keer in de zelfde kolom hebt staan.
Dit is de script die ik tot op heden heb:
Wellicht is er een betere oplossing of kan iemand me helpen met uitbreiden van mijn huidige code.
Ik zou graag een macro willen om in een werkboek met meerdere bladen te zoeken naar cellen die een bepaalde RGB kleurcode (bij voorkeur meer dan 1 kleur te kunnen zoeken) hebben en daar waar deze voorkomen de kolommen (let op niet rijen) te verwijderen. De kleur kan overal voorkomen en let op het dient de hele kolom te verwijderen niet de cell alleen. Ik heb al een script gevonden na heel lang zoeken. Maar verveldende ervan is:
1. Hoe groter de range de meer het vastloopt (bij 1000 heeft het al wat laadtijd nodig in 1 blad
2. Werkt alleen in actieve sheet bij draaien van script
3. Er kan maar gezocht worden op 1 kleur
4. Error 1004 command cannot use overlapping selections als je dezelfde rgb kleurcode meer dan 1 keer in de zelfde kolom hebt staan.
Dit is de script die ik tot op heden heb:
Code:
Sub SelectColoredCells()
Dim rCell As Range
Dim lColor As Long
Dim lColor2 As Long
Dim rColored As Range
'Select the color by name (8 possible)
'vbBlack, vbBlue, vbGreen, vbCyan,
'vbRed, vbMagenta, vbYellow, vbWhite
'lColor = vbBlue
'If you prefer, you can use the RGB function
'to specify a color
Range("A1:Q1000").Select
lColor = RGB(68, 114, 196)
Set rColored = Nothing
For Each rCell In Selection
If rCell.Interior.Color = lColor Then
If rColored Is Nothing Then
Set rColored = rCell
Else
Set rColored = Union(rColored, rCell)
End If
End If
Next
If rColored Is Nothing Then
MsgBox "No cells match the color"
Else
rColored.EntireColumn.Delete
End If
Set rCell = Nothing
Set rColored = Nothing
End Sub
Wellicht is er een betere oplossing of kan iemand me helpen met uitbreiden van mijn huidige code.