Range-objektet i Excel VBA
I Excel repræsenterer et Range et område, som kan være én eller flere celler i et regneark.
Det er en uhyre nyttig størrelse, når man skal programmere. Et range kan ændres dynamisk, og det er langt mere fleksibelt end at operere med faste celleadresser eller "valgte" områder. Et Range kan bl.a. gennemløbes celle for celle med en For Each..Next løkke, som er meget hurtig.
Her følger et simpelt eksempel. Hvis du vil prøve det af, så kopiér og indsæt følgende kode i et modul. I regnearkets celler A1 til A5 skriver du f.eks.
120
20
Peter
40
500
Proceduren farver celler røde, som har en numerisk værdi over 100, men "farveladekoden" kan nemt erstattes af noget andet.
Sub FarvCelle()
Dim rCell As Range
Dim rOmraade As Range
On Error GoTo ErrorHandle
Set rOmraade = Range("A1")
If Len(rOmraade.Offset(1, 0).Formula) > 0 Then
Set rOmraade = Range(rOmraade, rOmraade.End(xlDown))
End If
For Each rCell In rOmraade
With rCell
If IsNumeric(.Value) And .Value > 100 Then
.Interior.ColorIndex = 3
End If
End With
Next
BeforeExit:
Set rCell = Nothing
Set rOmraade = Nothing
Exit Sub
ErrorHandle:
MsgBox Err.Description & ", Procedure FarvCelle", "Fejl"
Resume BeforeExit
End Sub
Relateret
|