Avatar billede hjald8 Nybegynder
10. oktober 2004 - 19:40 Der er 13 kommentarer og
1 løsning

Makro til kopiering af værdien af bestemte celler til anden fil

Hej

Jeg har fået meget givtige svar omkring Makroer og VBA. Så nu forsøger jeg igen.

Jeg har en skabelon til produktion af fakturaer. Der gemmes en fil (Excel-projektmappe) for hver faktura.

Jeg kunne godt tænke mig, at der fra hver enkelt faktura flyttes værdien af bestemte celler (kundenr, fakturanr, dato og beløb)til den næste ledige række i en bogføringsfil (én Excel-projektmappe). Denne flytning kunne ske ved aktivering af en knap.

Bogføringsfilen importeres ved faste intervaller til økonomisystemet.

Kan man det? Er der smartere metoder?

På forhånd tak.
Avatar billede japping Nybegynder
11. oktober 2004 - 08:26 #1
Dette er mit input, måske andre kan noget der er smartere ?

Ja, det kan godt lade sig gøre, men ikke ved "kun" at anvende makroer.
Jeg vil programmere Visual Basic, hvilket giver flere muligheder.

En sådan funktion vil jeg nok skulle bruge lidt tid på, så det er vist det man kalder "arbejde".
Avatar billede martin_moth Mester
11. oktober 2004 - 12:02 #2
Jeg vil nu mene, at du godt kan fra VBA (altså en macro)

I dit bogførings-fil aktivere du en macro, der åbner alle fakturaer en efter en, og indsætter hvad der nu skal indsætes i bogførings-filen.

Du skal så finde på en måde, så du ikke genindlæser alle filerne næste gang du trykekr på knappen. Med mindre du da gerne vil det.

Det smarte ville dog være, at du under produktionen af de enkelte fakturaer ( i din skabelon) sørger for, at de data der nu skal gemmes bliver gemt i bogføringsfilen.

Det lyder i øvrigt som om det her er noget for Access, frem for Excel.
Avatar billede japping Nybegynder
11. oktober 2004 - 14:26 #3
Når jeg skriver "kun" macroer mener jeg netop, at jeg kan programmere det i VBA. Men ikke ved "bare" at optage en macro, der skal programmeres.
Avatar billede martin_moth Mester
11. oktober 2004 - 15:41 #4
Aha

Dvs. når du skriver

"Jeg vil programmere Visual Basic, hvilket giver flere muligheder."

Så mener du faktisk, at

"Jeg vil programmere VBA, hvilket giver flere muligheder, ikke Visual Basic"

;o)
Avatar billede japping Nybegynder
11. oktober 2004 - 16:40 #5
Jeg mener at VBA er et programmeringssprog hvor man har større frihed end ved optagelse af en macro.
Avatar billede martin_moth Mester
12. oktober 2004 - 07:00 #6
Men når du optager en macro er det jo netop vba du bruger. Nå - anyways - hjald8 - har du fået hjælp til at komme videre eller?
Avatar billede hjald8 Nybegynder
12. oktober 2004 - 08:52 #7
Enig i at Access nok er det bedste software til denne løsning.
De brugere, som jeg har, er ekstremt trygge ved Excel. Dette er en lille arbejdsgang i forhold til hvad Excel i øvrigt bliver brugt til. Derfor Excel.

Enig med M.Moth - at det er under produktionen af fakturaen, at der skal overføres data til bogføringsfilen.

Men kan man sikre, at man via en makro bruger den næste ledige række i denne bogføringsfil?
Avatar billede martin_moth Mester
12. oktober 2004 - 10:29 #8
Enten får du excel til at finde den første ledige række i en bestemt kolonne (det er der en funktion der kan), eller også reservere du en celle hvor du hele tiden justere det aktuelle antal af aktuelle rækker - eller gemmer det i en text-fil, hvis du hellere vil det (eller i reg-databasen- mulighederne er mange)
Avatar billede hjald8 Nybegynder
12. oktober 2004 - 19:51 #9
Tak. Kanon, at det teknisk kan lade sig gøre. Jeg har dog det problem, at jeg ikke er stærk nok i VBA/makroer til at opbygge det. Havde håbet på lidt hjælp til dette (såfremt det kunne lade sig gøre).
Avatar billede hjald8 Nybegynder
15. oktober 2004 - 19:57 #10
Jeg har forsøgt forskellige makroer og kodninger. Håber at der er nogen, der kan hjælpe. Se følgende kode - som ikke virker. Det med at vælge næste ledige række fungere vist ikke, ligeledes heller ikke gem-funktionen:

Sub Gem()
    Sheets("Data").Select
    Range("A1:D1").Select
    Selection.Copy
    Workbooks.Open Filename:="C:\bogføring.xls"
    ActiveSheet.Paste
    Sheets("Bogføring").Select
    Rw = Range("A999").End(xlUp).Row + 1
    Range("A" & Rw).PasteColumns("A:D").EntireColumn.AutoFit
    ActiveWorkbook.Save
    ActiveWindow.Close
    Application.CutCopyMode = False
    Sheets("Nota").Select
    Range("B5").Select
End Sub

Håber at nogen kan hjælpe!!
Avatar billede hjald8 Nybegynder
15. oktober 2004 - 21:25 #11
Der kommer givetvis ikke yderligere svar/kommentarer på denne
Avatar billede japping Nybegynder
16. oktober 2004 - 18:59 #12
Jeg kan kun henvise til min første kommentar, hvilket du nok har erfaret. Prof. hjælp kan tilbydes.
Avatar billede bak Forsker
17. oktober 2004 - 21:58 #13
Hvorfor ikke bruge de indbyggede funktioner ved skabeloner ?
Her kan man få sine vigtige data overført til en database (excel eller access) når man gemmer den nye fil, hvis denne er baseret på en skabelon.
Under funktioner / tilføjelsesprogrammer sæt fluen ved "Guiden skabelon med datasporing"
I menuen Data er der nu et menupunkt der hedder "Guiden Skabelon".
Følg den og opret skabelon, felter og database som det passer til dig.
Avatar billede jpj3 Nybegynder
14. november 2005 - 23:06 #14
Her er lidt hjælp til install af "Guiden skabelon med datasporing"
Hvis du ikke har installeret office på dit c-drev
http://support.microsoft.com/default.aspx?scid=kb;en-us;873209
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