VBA til Excel: Kan ikke gennemskue fejl ved brug af Union-argument
Hej FolkensJeg har lavet et stykke kode, som gennemløber en range af celler i Excel og for de celler, som matcher kriterierne, henter jeg nabocellerne ud som en range... Altså jeg returnerer en range af naboceller.
Eller rettere det er planen, men koden fejler der, hvor jeg anvender Union.
Jeg har lavet koden, da jeg har en kolonne med månedsangivelser (fra Januar til December) og dennes nabokolonne er befolket med beløb. Med funktionen her, søger jeg således, at gøre det muligt at isolere beløbene for de enkelte måneder - f.eks. marts.
Min kode:
----------------------------------------------------------------------------------------------------------------------------------
Function FindNaboTilOmrådeMedTekst(textToLocate As String, SearchRng As Range) As Range
Dim ResultRng As Range
Dim Cel As Range
If Not (IsEmpty(SearchRng)) Then
For Each Cel In SearchRng
If Not (IsEmpty(Cel)) Then
If indeholderTeksten(textToLocate, Cel) Then
If ResultRng Is Nothing Then
Set ResultRng = Cel.Offset(0, 1)
Else:
'-----------koden fejler herunder
Set ResultRng = Application.Union(ResultRng, Cel.Offset(0, 1))
'-----------koden fejler herover
End If
End If
End If
Next Cel
End If
FindOmrådeMedTekst = ResultRng
End Function
Function indeholderTeksten(textToLocate As String, cellToTest As Range) As Boolean
If InStr(UCase(cellToTest.Value), UCase(textToLocate)) Then
indeholderTeksten = True
Else:
indeholderTeksten = False
End If
End Function
----------------------------------------------------------------------------------------------------------------------------------
Der kommer ingen alvorlige fejl, men min brug af Application.Union(ResultRng, Cel.Offset(0, 1)) gør intet?
Hvad mangler jeg?
Ps. Har prøvet at bruge find(), men der kom også en fejl, som jeg ikke kunne gennemskue, så jeg vendte tilbage til noget kode, som (jeg troede) jeg kunne håndtere.
