Avatar billede johs_j Novice
16. september 2002 - 22:07 Der er 7 kommentarer og
1 løsning

Function

Hvordan kan jeg lave en Makro/Function som kan lave samme beregning som denne indbyggede funktion:
{=SUM(POTENS(A3:A5;B3:B5))}
Avatar billede sjap Praktikant
16. september 2002 - 22:56 #1
Her en en mulighed:


Dim DataOmråde1 As Range
Dim DataOmråde2 As Range
Dim AntalData As Integer

Public Function MinPotens(DataOmråde1, DataOmråde2) As Variant
AntalData = 0
For Each c In DataOmråde1
    AntalData = AntalData + 1
Next
ReDim DataMatrix1(AntalData) As Double
ReDim DataMatrix2(AntalData) As Double
MinPotens = 0
Indeks = 0
For Each c In DataOmråde1
    If Not IsEmpty(c) Then
        If IsNumeric(c) Then
            Indeks = Indeks + 1
            DataMatrix1(Indeks) = c.Value
        End If
    End If
Next
Indeks = 0
For Each c In DataOmråde2
    If Not IsEmpty(c) Then
        If IsNumeric(c) Then
            Indeks = Indeks + 1
            DataMatrix2(Indeks) = c.Value
        End If
    End If
Next
For Indeks = 1 To AntalData
    If IsNumeric(DataMatrix1(Indeks)) And IsNumeric(DataMatrix2(Indeks)) Then
        MinPotens = MinPotens + DataMatrix1(Indeks) ^ DataMatrix2(Indeks)
    End If
Next Indeks

End Function
Avatar billede sjap Praktikant
16. september 2002 - 22:57 #2
Det er noget uddrag og noget mix fra nogen gamle funktioner, jeg engang har lavet. Det kan muligvis trimmes lidt.
Avatar billede bak Forsker
17. september 2002 - 01:18 #3
Lidt... :-)
Function SumPotens(rng1 As Range, rng2 As Range) As Long
SumPotens = Evaluate("=Sum(" & rng1.Address & "^" & rng2.Address & ")")
End Function
Avatar billede sjap Praktikant
17. september 2002 - 08:50 #4
Hold da helt op! Kan man det? Må man det? Den synes jeg du skulle lægge et svar på bak. Jeg kan se at jeg åbenbart tænker i for traditionelle programmeringsbaner (eller bare programmerer for lidt i Excel) :-)
Avatar billede sjap Praktikant
17. september 2002 - 08:58 #5
Jeg skal lige undersøge funktionaliteten lidt nærmere - det kan godt være at en af mine meget gamle funktioner (september 1995 for at være mere præcis) skal trimmes lidt.

Behøver man slet ikke nogen løkke? Jeg fatter simpelthen ikke hvordan den virker

Nej, jeg kan nok ikke bruge den. Jeg skal først have sorteret data, så jeg er nødt til at lægge dem ind i en matrice (de tomme skal udelades).
Avatar billede bak Forsker
17. september 2002 - 09:01 #6
Nej, ingen svar superjab.
Dit forslag virker ganske udemærket.
Jeg blev bare trikket af "Det kan muligvis trimmes lidt."
Du har forøvrigt samme funktion til rådighed i access (eval)
bak :-)
Avatar billede johs_j Novice
17. september 2002 - 17:59 #7
Jeg må indrømme at jeg havde tænkt noget i retning af superjaps løsning, og jeg er lige så forbavset over at det kan gøres så simpelt som bak har vist.
Begge løsninger virker fortrinligt.
Tak.
Hilsen Johs. J.
Avatar billede sjap Praktikant
17. september 2002 - 18:39 #8
Jeg takker også. :-)
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