25. august 2004 - 09:00Der er
11 kommentarer og 1 løsning
Makroer til beregning
Hej eksperter
Jeg er i gang med at lave en skabelon til en faktura i Word, men... Nu kommer det vanskelige, og så er jeg gået i stå. Jeg har læst her på Eksperten, at det ville være nemmere at lave i Excel, men... Det er jeg (heller) ingen haj til, og nu er jeg jo gået i gang i Word.
Det jeg skal have lavet er følgende: Fortløbende nummerering af fakturanummeret, antal gange pris, moms, total osv. Altså alt det, der ikke bare er ligetil... Jeg kan forstå, at jeg skal bruge makroer, men... Det har jeg aldrig prøvet før og aner ikke, hvordan jeg skal komme i gang. Er der nogle, der ved hvor jeg kan finde en god begyndermanual og eventuelt kan hjælpe mig i gang?
Nu har jeg været på biblioteket og låne Grundlæggende programmering med VBA, Programmering med VBA for Dummies, Avanceret Word 2000 og Programmør på en weekend. Jeg går straks i gang med at læse, men gode råd og idéer er stadig mere end velkomne.
Jeg ved ikke om noget er gået galt, men jeg har ikke modtaget dit eksempel... Jeg er dog kommet lidt videre :-) Har indtil videre fået det til at fungere med at multiplicere antal og pris. Skal nu til det med moms og autonummerering. Eksempler og gode råd modtages stadig med glæde.
rvm Jeg har med stor glæde modtaget din mail med eksempel på faktura. Den har virkelig været til stor hjælp, men... Der er desværre noget jeg ikke kan få til at fungere, og som jeg ikke forstår. Jeg må tilstå, at jeg har 'tyvstjålet' fra dig og droppet det jeg selv havde lavet m.h.t. udregning af fakturalinierne - jeg havde nemlig en sub resultat() til hver eneste fakturalinie :-) Ikke så fikst... Jeg kan dog ikke få det til at fungere på trods af, at jeg virkelig har gransket og tænkt... Det jeg ikke forstår, er følgende linier:
'Finder det aktive formularfelts bogmærkenavn If Selection.FormFields.Count = 1 Then 'No textbox but a check- or listbox svar = Selection.Bookmarks(Selection.Bookmarks.Count).Name ElseIf Selection.FormFields.Count = 0 And Selection.Bookmarks.Count > 0 Then svar = Selection.Bookmarks(Selection.Bookmarks.Count).Name End If
Som du måske har set har jeg sat makroen "Udregn" på formularfelteterne "Cost per unit" denne makro køres altså når brugeren har tastet antal og pris. Men hvilket formularfelt skal den så skrive resultatet i? Det er denne problemstilling som ovenstående kode løser. If-sætningen returnerer bogmærket på det formularfelt som makroen køres fra - altså det aktuelle "Cost per unit" - ud fra det bogmærke finde de andre bogmærker i samme fakturalinie. Dette betyder at der er en bestemt syntaks som skal overholdes i mit eksempel:
Bogmærker på samme linie: Units Cost per unit Amount U1 C1 A1
Alle Units skal starte med U, alle Cost per unit skal starte med C og alle Amount skal starte med A. Tallet efter startbogstaverne skal være ens på den aktuelle linie.
Håber denne lidt lange forklaring ikke bare har forvirret dig mere :-)
Nej den har absolut ikke skabt forvirring - tvært imod. Nu forstår jeg, og nu virker det :-) Jeg har blot et spørgsmål mere, hvis din tålmodig altså stadig rækker. Hvor skal makroen 'GemFaktura' sættes? Der er i øvrigt det mærkelige, at din faktura fungerer fint her, men... Når jeg klikker på dine formularfelter kan jeg ingen steder se, at der er sat makroer. Det kunne jeg jo have tænkt mig til, at der skulle være på 'Cost per Unit', men ja det gjorde jeg altså ikke. Jeg er rigtig glad for al din hjælp og takker mange gange. Læg et svar, så skal du straks få dine velfortjente point.
Hej RVM Jeg kunne vel ikke også lige få et eksemplar af din faktura-skabelon. Email: lotte@kaloba.dk Du har jo hjulpet mig perfekt tidligere *S* På forhånd tak.
Synes godt om
Ny brugerNybegynder
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.