Diskontinuerlig markering av celler
Här belyses hur vi kan markera ett diskontinuerligt cellområde, där cellerna uppfyller ett visst kriterium.
Exemplet utgår från att ett sökvärde finns i cell A2 i det aktiva arbetsbladet.Namnet "Utfall" refererar till cellområdet B2:E7 i det aktiva arbetsbladet.
Exemplet demonstrerar också hur viss felhantering kan se ut.
Se också Hämta data från diskontinuerliga cellområden
Option Explicit
Sub Diskontinuerlig_Cellmarkering()
'© 2001 Alla rättigheter XL-Dennis
Dim rnSokOmrade As Range, rnMal As Range, rnCell As Range
Dim iSokVarde As String
iSokVarde = Int(Range("A2").Value)
'I händelse av att det inte finna några celler innehållande
'tal i sökområdet.
On Error Resume Next
Set rnSokOmrade = Range("Utfall").SpecialCells(xlConstants, xlNumbers)
On Error GoTo 0
If Not rnSokOmrade Is Nothing Then
For Each rnCell In rnSokOmrade
'Kriteriet för att cell ska bli markerad
If rnCell.Value = iSokVarde Then
'Här skapas det diskontinuerliga cellområdet
If rnMal Is Nothing Then
Set rnMal = rnCell
Else
Set rnMal = Union(rnMal, rnCell)
End If
End If
Next rnCell
End If
'Meddelande om den totala summan för de celler som uppfyller
'kriteriet.
MsgBox "Summan uppgår till: " & Application.Sum(rnMal) & " Tkr"
'Här sker markering av det diskontinuerliga cellområdet.
If Not rnMal Is Nothing Then
rnMal.Select
End If
End Sub