Avatar billede tvc Seniormester
11. maj 2005 - 14:27 Der er 1 kommentar og
1 løsning

UBound og oplistning af tal

Hej

Jeg har tidligere fået hjælp til funktionen som er gengivet nedenfor jf. http://www.eksperten.dk/spm/597298.

Function ListEPnr(KontoNr As Integer, Afdeling As String, Dataområde As Range) As String
Dim EP As Variant, KO As Variant, Ens As Boolean, T As Integer, A As Variant
KO = Dataområde

For i = 1 To UBound(KO)
Ens = False
    If KO(i, 3) = KontoNr And KO(i, 1) = Afdeling Then
        A = Split(ListEPnr, ",")
       
        For T = 0 To UBound(A)
            If Val(A(T)) = KO(i, 2) Then
              Ens = True
            End If
        Next T
       
        If Ens = False Then
            ListEPnr = ListEPnr & KO(i, 2) & ","
        End If
      End If
Next i
ListEPnr = Left(ListEPnr, Len(ListEPnr) - 1)
End Function

Function ListEPnrSum(KontoNr As Integer, Afdeling As String, Dataområde As Range)
Dim KO As Variant
KO = Dataområde
For i = 1 To UBound(KO)
    If KO(i, 3) = KontoNr And KO(i, 1) = Afdeling Then
  ListEPnrSum = ListEPnrSum + KO(i, 5)
    End If
Next i
End Function


___________________________________

Jeg er ikke sikker på om det er korrekt forstået, at funktionen UBound kan sammenlignes med LOPSLAG i Excel?

Hvis det er tilfældet vil jeg høre om der er nogle der ved om der findes en version af funktionen som ikke kræver data i stigende orden?

Hvis UBound ikke fungerer som LOPSLAG er der så en der ved om det er muligt at ændre i funktionen ovenfor så den ikke kræver data i stigende rækkefølge?

Mvh. TVC
Avatar billede stefanfuglsang Juniormester
11. maj 2005 - 14:59 #1
UBound(A) er indeks på sidste element i A
13. maj 2005 - 22:30 #2
Split funktionen gør at A bliver en matrix variable........ dvs. at første element (altså første værdi inden ",") nu kan hentes via variablen  A(0) og næste element via variable A(1)......
Ubound(A) fortæller hvormange elementer den findes i A, således matrix variablen kan gennemløbes i f.eks. en For-Next løkke fra element 0 til det sidste element.

Mig bekendt findes der ikke en LOPSLAGs funktion som virker som i regnearket....
Du kan (som skrevet) få fat i elementernes værdier ved at skrive A(0).....

Man kan også lave en lille funktion som gennemløber A og returer nummeret på det element som indeholder en bestemt værdi - hvis altså man har brug for det.
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