Beste allemaal,
Ik heb een boekje gekocht VBA in 10 minuten van John Hendriks, maar voorbeeld van hoofdstuk 17 wil niet lukken. Het programma voorziet Exel-cellen afhankelijke van de inhoud van een kleur cellen met tekst worden groen, numerieke cellen geel en cellen met forumules rood. Doe ik iets niet goed? Bij sheet1 kun je waarde, tekst opgeven.
Wie kan deze beginner helpen? Ik heb de code overgetyped uit het boekje, maar zie geen verschillen.
Het gaat al fout bij objectvariabelen aanmaken set formulecellen, set tekstcellen, set numerieke cellen blijft leeg bij de foutopsporing.
Wat zou hier moeten gebeuren, had ik nog moeten declareren?
Ik heb een boekje gekocht VBA in 10 minuten van John Hendriks, maar voorbeeld van hoofdstuk 17 wil niet lukken. Het programma voorziet Exel-cellen afhankelijke van de inhoud van een kleur cellen met tekst worden groen, numerieke cellen geel en cellen met forumules rood. Doe ik iets niet goed? Bij sheet1 kun je waarde, tekst opgeven.
Wie kan deze beginner helpen? Ik heb de code overgetyped uit het boekje, maar zie geen verschillen.
Het gaat al fout bij objectvariabelen aanmaken set formulecellen, set tekstcellen, set numerieke cellen blijft leeg bij de foutopsporing.
Wat zou hier moeten gebeuren, had ik nog moeten declareren?
Sub kleurcode()
If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
'controleren of inderdaad een worksheet
' actief is, Is dit niet zo dan einde.
'Objectvariabelen aanmaken
On Error Resume Next
Set formulecellen = Range("A1").SpecialCells _
(xlFormulas, xlNumbers + xlTextValues + xlLogical)
Set TekstCellen = Range("A1").SpecialCells(xlConstants, xlTextValues)
Set NumeriekeCellen = Range("A1").SpecialCells(xlConstants, xlNumbers)
'nieuw werkblad toevoegen
Sheets.Add
With Cells
.columnwitdth = 8
.Font.Size = 8
End With
Application.ScreenUpdating = False
If Not IsEmpty(formulecellen) Then
For Each Area In formulecellen.Areas
With ActiveSheet.Range(Area.Adress)
.Value = "For"
.Interior.ColorIndex = 3
End With
Next Area
End If
If Not IsEmpty(TextCellen) Then
For Each Area In formulecellen.Areas
With ActiveSheet.Range(Area.Adress)
.Value = "Txt"
.Interior.ColorIndex = 4
End With
Next Area
End If
If Not IsEmpty(NumeriekeCellen) Then
For Each Area In formulecellen.Areas
With ActiveSheet.Range(Area.Adress)
.Value = "Num"
.Interior.ColorIndex = 6
End With
Next Area
End If
End Sub
Laatst bewerkt: