Print side | Luk vindue

Sumprodukt i VBA til brugerformular

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=1343
Udskrevet den: 27.Sep.2024 kl. 01:31


Emne: Sumprodukt i VBA til brugerformular
Besked fra: peppe
Emne: Sumprodukt i VBA til brugerformular
Posteringsdato: 08.Sep.2013 kl. 17:27
Hej til alle herinde
 
Er der nogen som kan svare på, hvordan man bruger funktionen SUMPRODUKT i VBA?
Jeg har en brugerformular, hvor jeg ud fra to datoer ønsker at tælle nogle tal sammen med Sumprodukt
 
Jeg har denne VBA-kode (som ikke virker):
res_kendt_graddage = Evaluate("SUMPRODUKT((DATO(GDår;GDmåneder;GDdage)>=dato_kendtfra)*(DATO(GDår;GDmåneder;GDdage)<=dato_kendttil)*(GDdata))")
 
Forklaring:
res_kendt_graddage : et felt i formularen, hvor jeg ønsker svaret (værdi)
dato_kendtfra : et felt i formularen, hvor der er angivet en dato (dd-mm-åå)
dato_kendttil : et felt i formularen, hvor der er angivet en dato (dd-mm-åå)
 
GDår : et navngivet område med tal
GDmåneder : et navngivet område med tal
GDdage : et navngivet område med tal
GDdata : et navngivet område med tal
 
Ps. funktionen Sumprodukt((DATO... fungerer fint ellers)
 
Kan i hjælpe med hvordan VBA-koden skal se ud?
 
Peder



Svar:
Besked fra: excelent
Posteringsdato: 10.Sep.2013 kl. 19:21
Prøv med denne :
 
res_kendt_graddage = Evaluate("SUMPRODUCT((DATE(GDår,GDmåneder,GDdage)>=dato_kendtfra)*(DATE(GDår,GDmåneder,GDdage)<=dato_kendttil)*(tal))")


-------------
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!


Besked fra: peppe
Posteringsdato: 10.Sep.2013 kl. 22:03
Øv det synes ikke at være problemet.
Jeg får fejlmeddelelsen:
Run-time error '13':
type mismatch
 
Kan det være fordi jeg bruger danske tegn (å)...?
 
Andre forslag ?
 
 


-------------
Med venlig hilsen

\\Peppe


Besked fra: peppe
Posteringsdato: 10.Sep.2013 kl. 23:35
Jeg testede lige om det var det danske å, men det hjalp ikke - samme fejl
Det skal dog nævnes at formlen er trukket ud fra nettet, så det er naturligvis ikke sikkert
den overhovedet skal se sådan ud...
 
 


-------------
Med venlig hilsen

\\Peppe


Besked fra: excelent
Posteringsdato: 11.Sep.2013 kl. 19:19

Ja min formel var baseret på at du havde dato_kendtfra og dato_kendttil i celler
på arket, kan dog se at det skiver du at du ikke har.
Jeg håber da du har en god grund til at have dine datoer splittet op i 3 kolonner
det er i sagens natur besværligt at arbejde med et sådan layout .

Det er ikke lykkes mig at få formlen til at acceptere disse datoværdier direkte
fra formularen, men har dog en anden løsning som du måske kan bruge :

Du har 2 muligheder, enten taste dine datoer direkte i 2 navngivne celler fx. fra og til, eller via
kode skrive disse datoer fra formularen i arket i celler som er navngivet fx. fra og til (kan evt. skjules).

---koden--

Range("fra") = CDate(Me.dato_kendtfra.Value) ' kan unlades hvis du skriver direkte i celler
Range("til") = CDate(Me.dato_kendttil.Value) ' kan unlades hvis du skriver direkte i celler
res_kendt_graddage = Evaluate("=SUMPRODUCT((DATE(GDår,GDmåneder,GDdage)>=fra)*(DATE(GDår,GDmåneder,GDdage)<=til)*(tal))")



-------------
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!


Besked fra: peppe
Posteringsdato: 11.Sep.2013 kl. 20:39
Jeg lægger en Excelfil ind der hedder VBAsumprodukt
Det er et eksempel på hvordan filen ser ud med navngivne områder osv.
 
jeg har lavet en brugerformular der kommer frem ved at trykke på knappen i arket...
 
Opbygningen af data vil jeg gerne have forbliver således (år, måneder og dage)
Jeg lægger filen op om 5 min...
 
Skriv endelig hvis jeg skal forklare nærmere
 


-------------
Med venlig hilsen

\\Peppe


Besked fra: peppe
Posteringsdato: 11.Sep.2013 kl. 20:44
Så er filen uploadet...
 
 


-------------
Med venlig hilsen

\\Peppe


Besked fra: peppe
Posteringsdato: 11.Sep.2013 kl. 21:32
Beklager - glemte vist lige at jeg skulle lægge et link ved...
Her er filen:
uploads/106/VBAsumprodukt.xlsm" rel="nofollow -
uploads/106/VBAsumprodukt.xlsm
 
 


-------------
Med venlig hilsen

\\Peppe


Besked fra: excelent
Posteringsdato: 11.Sep.2013 kl. 22:57
uploads/248/VBAsumprodukt_2.xlsm" rel="nofollow - uploads/248/VBAsumprodukt_2.xlsm

-------------
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!


Besked fra: peppe
Posteringsdato: 12.Sep.2013 kl. 11:48
Hej Excelent
 
Genialt - det virker jo fortræffeligt i denne eksempelfil.
Jeg lægger det ind i den rigtige fil senere i dag og selvfølgelig virker det.
 
Herfra siger jeg tak.
 
Peder


-------------
Med venlig hilsen

\\Peppe


Besked fra: peppe
Posteringsdato: 12.Sep.2013 kl. 18:43
Hej igen
blot som opfølgning...
Det virker dælme.
Atter engeng : tak
 
 


-------------
Med venlig hilsen

\\Peppe


Besked fra: excelent
Posteringsdato: 12.Sep.2013 kl. 21:45
velbekom

-------------
Jeg anvender Excel 2016 DK. Hvad anvender DU ? HUSK TILBAGEMELDING !!!



Print side | Luk vindue