29. oktober 2019 - 12:48Der er
38 kommentarer og 1 løsning
Bogholderi/kasseklade VBA koder
Hej. Skal bruge et bogholderi program i VBA og har tænkt selv at lave dette - har go tid som pensionist - og har lavet lidt i VBA tidligere. Hvilke koder skal bruges for at bogføre kassekladden, dvs. at få kassekladdens data overført til de i forvejen oprettede konti (= vertikale kontoblade i Excel)1 af gangen. Søgning efter den korrekte konto må foregå vha. af kontonummer, og ved hjælp af tællere overføres beløb m.v. til 1. ledige position på kontokortet. Håber det er nogenlunde beskrevet. MVH
Næste ledige række (eller første tomme celle i en kolonne): NextRow = Range("B" & Rows.Count).End(xlUp).Row + 1
Jeg ville tænke at en knap der siger "bogfør kassekladde" og så skal du have en for next loop der løber hver enkelt linje igennem og sætter den ind ind på rigtig konto - noget a la:
For r = 1 to rows.count kopier linje find kontonr sæt linje korrekt hen next r
Mit største problem er din linje 3 - Find kontonr.
Jeg forestiller mig at min curser i Excel står på et kontonummer i kassekladden, og nu skal der findes det rigtige kontokort hvor linjen fra kassekladden skal bogføres - om der er noget LookUp eller lignende har jeg desværre ingen anelse om. MVH
Ja naturligvis. Det jeg mener er har du ikke tænkt dig at angive begge disse som bilagslinjer i en kassekladde? Skal vi så bare flytte samtlige bilagslinjer over i et andet ark og lave sumformler derfra for at vise konti?
#5 ja det kan man beslutte hvordan man gør, det giver mindre indtastning at have de to konti på samme linje, men når vi arbejder i Excel (som er ret frit) kan det nemt give fejl, derfor vil jeg prioritere to linjer pr postering, fordi så er simpleste check altid at beløb giver nul.
Kim. Ja jeg forestiller mig at der i Excel er et "fysisk" kontokort for hver konto ala et kontoudskrift fra banken, men selvfølgelig indeholdende de posteringer der er foretaget i kassekladden. Jan. Ja. Modpost på en finanskonto vil jeg kunne lave direkte i Excel. Kim. Jeg vil bevare kassekladden som den er, og kopiere linjen i kassekladden til det relevante kontokort (kontonummeret bestemmer hvortil linjen i kassekladden skal afleveres) som jeg har lavet i forvejen, måske 50 kontokort i samme Excel-ark som kassekladden, og når regnskabets time oprinder bruge summeringer derfra.
Hej igen. Har 2 andre - formentlig - små problemer for jer. Hvad er koden til følgende: 1. Står i en VILKÅRLIG celle med curseren og vil undersøge om denne celles tal = lig med et andet tal, dvs. uden rangeangivelse i koden. 2. Står i en vilkårlig celle, og vil kopiere denne celle og 6 celler til højre. Også her uden rangeangielse måske Right 6. Venlig hilsen
Hej. Det skal jeg huske. Men hvorfor vil denne kode ikke kopiere linje nr. 2 i kasserapporten men kun den første - og desværre medfører at Excel går ned og skal genstartes. Det kan gi thumps UP. Dim ned As Integer ned = 1 Do Until Range("a3") = ned Range("a5..g5").Select Selection.ClearContents Range("a6").Select ActiveCell.Offset(ned, 0).Select st = ActiveCell.Address sl = ActiveCell.Offset(0, 6).Address ActiveSheet.Range(st & "." & sl).Copy Range("a5").Select ActiveSheet.Paste Range("n5").Select If ActiveCell.Value = Range("d5").Value Then Selection.End(xlDown).Select ActiveCell.Offset(1, 0).Select ActiveSheet.Paste Application.CutCopyMode = True ned = ned + 1 Else Selection.End(xlToRight).Select End If Loop
Hej igen. Selection.End(xlToRight).Select vælger sidste kolonne (XFD5)
Er du helt sikker. Mener at denne ordre stopper curser når den møder et indhold, og koderne kan da også overføre første linje i kasserapporten uden problemer ved hjælp af denne ordre, men derefter går det galt - og Excel går ned med fuld musik og skal genstartes.
Er der nogen der kan huske hvordan man kan angive at en formel skal gælde for et større område, dvs. der at der ikke skal kopieres formler.
4 - den tæller antal udfylde linjer i kasserapporten. Kan se at ActiveCell.value ikke kan genkende et tal anden gang der skal udlægges linjer, men dog første gang. Måske et eller andet hænger som forhindrer genkendelse?
Så kom der styr på udlægningen, nu funker det, og starter om nogle dage med sikkerhed og tanker for brugeren. Stor hjælp fra dig - tak for det - måske jeg vender tilbage, bla. for at se om du kan smadre systemet. Og StoreMorten - med privat besked og tilsendt regneark - der blev meget stille. Just for INFO og relevante kommentarer: er 73 år gammel, ØK-direktør i 30 år (migatronic), og Stats.aut.Rev og startede med macroer i Lotus123 i 1982 Tak for nu.
Hej Jan. Har brugt Find til at finde adresse på kontonummer, og nu vil gerne at cursoren går til denne adresse - men hvordan. Jeg er sikker på at du ved det! MVH
Er der nogen som kan gennemskue hvor denne macro ikke gemmer første fil men nr. 2. Filen som makroen kører fra er nr. 2. Ser ud til at æ ø er blevet forvansket i kopieringen.
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.