Avatar billede tvc Seniormester
30. december 2005 - 14:48 Der er 1 løsning

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
Avatar billede tvc Seniormester
30. december 2005 - 15:09 #1
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester