Avatar billede besida Nybegynder
23. januar 2009 - 19:46 Der er 32 kommentarer og
1 løsning

Til Kabbak, fakturaprogram

Hej Kabbak

Jeg har studeret din lønsning med fakturaprogrammet lidt.
Jeg har lavet det sådan i mit program, at jeg også registrerer fakturarækkerne, ligesom i din model.
Nu er jeg bar ikke en ørn til det, og er stadig under læringsprocessen.

Men, hvis jeg skal ha en makro, som sætter faktura række 1, range(B, C, D, E, F) til at blive fyldt ind i mit "fakturaer"-ark (oversigtsark). Jeg har makroen som overfører fakturadata til næste ledige række. Men hvordan laver jeg en makro, som sætter range(b, c, d, e, f) ind i eks. r1.cells(19) og frem, hvis du forstår?

Min makro til at overføre fakturadato for kunde, adresse mv. er

Dim R As Range, r1 As Range
Set R = Worksheets("Fakturaer").Range("A2").CurrentRegion
Set r1 = R.Offset(R.Rows.Count, 0)

        r1.Cells(1).Value = DateValue(Sheets("faktura").Range("h12"))
        r1.Cells(2).Value = Val(Sheets("faktura").Range("h10"))
        r1.Cells(3).Value = Sheets("faktura").Range("h11")
        r1.Cells(4).Value = Sheets("faktura").Range("b7")
        r1.Cells(5).Value = Val(Sheets("faktura").Range("h35"))
        r1.Cells(6).Value = Val(Sheets("faktura").Range("h36"))
        r1.Cells(7).Value = Val(Sheets("faktura").Range("h38"))
        r1.Cells(8).Value = DateValue(Sheets("faktura").Range("h13"))
        r1.Cells(9).Value = "Nej"
        r1.Cells(11).Value = CStr(Sheets("faktura").Range("h48"))
        r1.Cells(12).Value = Val(1)

Kan jeg evt. lave en ny linie der hedder,
r1.cells(start fra 19 og udfyld 5 frem) eller noget lign.?=

Håber du er med, samt har lyst til at hjælpe.
Avatar billede kabbak Professor
24. januar 2009 - 00:17 #1
R = 13
For U = 1 To 15    ' hvis du har 15 fakturalinjer og de starter i række 1
                      ' ellers ret til f.eks. For U = 2 To 17'
        Sheets("faktura").Range(Cells("B", U), Cells("F", U)).Copy r1.Cells(R)
        R = R + 5
Next
Avatar billede kabbak Professor
24. januar 2009 - 00:20 #2
nej, det dur nok ikke, for så får du formler med, kan du ikke læse dem ind i en variabel, ligesom jeg gør i koden

R = 4
For U = 1 To UBound(FAKData)
  For I = 1 To 5
    GL.Cells(A, R) = FAKData(U, I)
    R = R + 1
  Next
Next
Avatar billede besida Nybegynder
24. januar 2009 - 22:20 #3
Hej Kabbak
tak for svaret!

Jeg er ikke helt med på koden :)
Prøver her med de konkrete eksempler!

Min faktura-skabelon indeholder fakturalinier fra række 19 til 33, og fra kolonne B:G.

Det skal sættes ind i arket "fakturaer", fra kolonne S?
Jeg har  ikke prøvet kræfter med sån en fiks kode som du har lavet før :)
Avatar billede kabbak Professor
24. januar 2009 - 22:30 #4
FAKData = range("B19:G33")' måske skal arknavnet foran range ?
A = r1.row ' hvilken række
R = 20 ' Start kolonne
For U = 1 To UBound(FAKData,1)' rækker
  For I = 1 To UBound(FAKData,2)kolonner
    Worksheets("fakturaer").Cells(A, R) = FAKData(U, I)
    R = R + 1
  Next
Next

det må vist være noget i denne stil
Avatar billede kabbak Professor
24. januar 2009 - 22:30 #5
husk
Dim FAKData as variant
Avatar billede besida Nybegynder
24. januar 2009 - 23:00 #6
Hmm, jeg får fejl i worksheets("fakturaer").cells(A,R) =FAKData(U,I)

kan ik se hvorfor?
Avatar billede kabbak Professor
24. januar 2009 - 23:05 #7
Prøv at holde curseren over variablerne, mens linjen er mærket med gult, så kan man aflæse deres værdier.
Se hvad A har for en værdi, værdierne for UBound(FAKData,1) og 2' og er arknavnet stavet rigtig ?
Avatar billede besida Nybegynder
24. januar 2009 - 23:07 #8
A = 36
Ubound(fakdata, 1) = 15
2'eren = 7

arknavn er også stavet helt rigtigt :)

tak for hjælpen kabbak!
Avatar billede besida Nybegynder
24. januar 2009 - 23:09 #9
how, ubound(fakdata, 2) = 6
Avatar billede besida Nybegynder
24. januar 2009 - 23:12 #10
arh, og A = 38... nu kikser det helt?
Avatar billede kabbak Professor
24. januar 2009 - 23:13 #11
A skal være den række du indsætter i i arket fakturaer, er det den rigtige række ??

B:G = 6 kolonner så ubound(fakdata, 2) = 6 er rigtig
Avatar billede besida Nybegynder
24. januar 2009 - 23:17 #12
Det passer. Men mit faktura ark er nu overfyldt? og gamle fakturaer som stod der i forvejen er overskrevet?
Avatar billede besida Nybegynder
24. januar 2009 - 23:17 #13
A er også rigtig!
Avatar billede kabbak Professor
24. januar 2009 - 23:18 #14
Ok
Men da jeg går ud fra at du tester, så slet alt i Fakturaer arket, undtagen række 1, se så om den gør det rigtig.
Avatar billede besida Nybegynder
24. januar 2009 - 23:23 #15
A = 3 nu, efter jeg har slettet det hele, men alligevel har den overført data i række 1-3?, og data der overføres, overføres ikke til de rigtige placeringer nu?
Avatar billede mostcrazy Nybegynder
24. januar 2009 - 23:24 #16
Blot lige en supplerende sidebemærkning... Husk, at Excel ikke er godkendt af SKAT til brug for bogføring pga. den manglende "sporbarhed" :-)
Avatar billede besida Nybegynder
24. januar 2009 - 23:26 #17
i know :) er revisor selv!

Meeeen, som faktura, må du gerne have et program i excel, som laver fakturaerne, hvis disse efterfølgende registreres i et godkendt system :) C5 eks. :)
Avatar billede kabbak Professor
24. januar 2009 - 23:41 #18
prøv at teste

Public Sub test()
    Dim A As Long, R As Integer, U As Integer, I As Integer, FAKData As Variant
    FAKData = Sheets("faktura").Range("B19:G33")

    A = Worksheets("Fakturaer").Range("C65536").End(xlUp).Row
    With Worksheets("Fakturaer")
        .Cells(A, 1).Value = DateValue(Sheets("faktura").Range("h12"))
        .Cells(A, 2).Value = Val(Sheets("faktura").Range("h10"))
        .Cells(A, 3).Value = Sheets("faktura").Range("h11")
        .Cells(A, 4).Value = Sheets("faktura").Range("b7")
        .Cells(A, 5).Value = Val(Sheets("faktura").Range("h35"))
        .Cells(A, 6).Value = Val(Sheets("faktura").Range("h36"))
        .Cells(A, 7).Value = Val(Sheets("faktura").Range("h38"))
        .Cells(A, 8).Value = DateValue(Sheets("faktura").Range("h13"))
        .Cells(A, 9).Value = "Nej"
        .Cells(A, 11).Value = CStr(Sheets("faktura").Range("h48"))
        Cells(A, 12).Value = Val(1)
        R = 20    ' Start kolonne
        For U = 1 To UBound(FAKData, 1)    ' rækker
            For I = 1 To UBound(FAKData, 2)    'kolonner
                .Cells(A, R) = FAKData(U, I)
                R = R + 1
            Next
        Next
    End With
End Sub
Avatar billede kabbak Professor
25. januar 2009 - 07:54 #19
ret
  A = Worksheets("Fakturaer").Range("C65536").End(xlUp).Row

til
  A = Worksheets("Fakturaer").Range("C65536").End(xlUp).Row + 1
Avatar billede besida Nybegynder
27. januar 2009 - 13:08 #20
Hej Kabbak

Sorry, har ligget syg de sidste dage, tester det selvfølgelig i aften!
tak for tålmodigheden.!
Avatar billede kabbak Professor
04. februar 2009 - 18:26 #21
hvordan går det ??, er du rask ??
Avatar billede besida Nybegynder
05. februar 2009 - 00:00 #22
Hej Kabbak

Sorry alt ventetiden. Er simpelthen syg og stresset på een gang. Har simpelthen så meget arbejde.

Jeg tester det imorgen aften efter arbejde. Undskyld ventetiden :)
Avatar billede besida Nybegynder
05. februar 2009 - 20:15 #23
Hm.. den overfører slet intet til fakturaer nu?
Avatar billede besida Nybegynder
05. februar 2009 - 20:44 #24
Kan sq ikk få det til at funge...
Avatar billede kabbak Professor
05. februar 2009 - 22:05 #25
Prøv at sende et kopi til mig.
kabbak snabela tiscali dot dk
Avatar billede besida Nybegynder
10. februar 2009 - 22:22 #26
Hej kabbak :)
er sendt, sorry forsinkelsen igen..
Jeg har lavet en knap i faktura-arket som henter koden fra modul 2, "ovffakturadata()"... som det kører nu, kan den overføre med den kode jeg havde til at starte med :)
Avatar billede besida Nybegynder
12. februar 2009 - 12:09 #27
Hej Kabbak

1000 tak for hjælpen...

Det spiller bare :)

Stik mig li et svar !!
Avatar billede besida Nybegynder
12. februar 2009 - 12:09 #28
Hej Kabbak

1000 tak for hjælpen...

Det spiller bare :)

Stik mig li et svar !!
Avatar billede besida Nybegynder
12. februar 2009 - 12:09 #29
Hej Kabbak

1000 tak for hjælpen...

Det spiller bare :)

Stik mig li et svar !!
Avatar billede besida Nybegynder
12. februar 2009 - 12:09 #30
Hej Kabbak

1000 tak for hjælpen...

Det spiller bare :)

Stik mig li et svar !!
Avatar billede besida Nybegynder
12. februar 2009 - 12:09 #31
Hej Kabbak

1000 tak for hjælpen...

Det spiller bare :)

Stik mig li et svar !!
Avatar billede besida Nybegynder
12. februar 2009 - 12:09 #32
Hej Kabbak

1000 tak for hjælpen...

Det spiller bare :)

Stik mig li et svar !!
Avatar billede kabbak Professor
12. februar 2009 - 16:44 #33
;-))
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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