Problemer med opdatering af egen funktion efter sub er kørt
Jeg sidder en et meget irriterende problem. Jeg har en funktion til brug for optælling af bemærkninger markeret med R, G eller !.Funktionen virker helt efter hensigten og tæller fint op mens området den skal tælle på udfyldes.
Hvis funktionen ikke kan finde nogle R, G eller ! i området returnerer den Ingen. Funktionen anvendes kun i Ark1.
I et Ark2 henter jeg alle bemærkningerne fra Ark1 over ved blot at ref. med =. I kolonnen ved siden af bemærkningerne i Ark2 undersøges der om bemærkningen ikke er en R, G eller ! bemærkning.
Hvis bemærkningen ikke er en R, G eller ! bemærkning skal rækken skjules. Til brug for dette anvender jeg nedenstående sub.
Mit problem er, at efter jeg har kørt sub'en viser alle mine resultater af funktionen Ingen. Hvis jeg så aktivere funktionen opdateres alle resultaterne.
Er der en der ved hvorfor min funktion ikke viser det korrekte resultat men Ingen når jeg har kørt min sub?
Hilsen
TVC
P.S.
Jeg anvender Application.Volatile i funktionen til at efterberegne funktionen ved aktivering og min egen løsning på problemet er umiddelbart at aktivere funktionen i baggrunden for at få mine resultater genberegnet med det ville være rart om der var en forklaring på problemet.
-----------------------------------------------
Funktion:
' Funktion til brug for optælling af antal bemærkninger
Function countBMK(bmkRange As Range) As String
Application.Volatile 'Genberegning af funktion alle steder den er anvendt
AD = bmkRange.Address
countBMK = Application.WorksheetFunction.CountIf(Range(AD), "R")
countBMK = countBMK + Application.WorksheetFunction.CountIf(Range(AD), "G")
countBMK = countBMK + Application.WorksheetFunction.CountIf(Range(AD), "!")
If countBMK = 0 Then
countBMK = "Ingen"
End If
End Function
------------------------------------------
Sub:
'Tilpas skjul rækker
Dim RiCount As Long
For RiCount = 2 To 1400 Step 1
Select Case CStr(Cells(RiCount, 6).Value)
Case "Skjul"
Cells(RiCount, 6).EntireRow.Hidden = True
End Select
Next RiCount
With rp
.Select
.Application.ActiveWindow.LargeScroll Up:=200, ToLeft:=200
.Range("A1").Select
.EnableSelection = xlUnlockedCells
.Protect
End With
