Avatar billede vegaz Juniormester
18. februar 2015 - 16:59 Der er 5 kommentarer og
1 løsning

Makro til eksport af data til forskellige forms

Hej,

Jeg har en master data fil med en masse data, hvor jeg kun skal bruge noget specifikt data fra denne fil, e.g. firmanavn, addresse, cvrnr, osv.

Det der er humlen her er, at dette data skal smides ind i et excel ark som  er sat op som et rapport papir. Jeg bruger dette dokument til at printe information om kunden, så dokumentet har allerede et layout med nogle specifikke celler hvor navn, adresse, osv. skal smides ind.

Er det muligt at lave en makro som kører alle linjer i min master fil igennem og smider hver række af data ind i et enkelt, seperat dokument med den ønskede opsætning og derefter gemmer dem automatisk, så jeg bare kan åbne den ønskede fil og tilføje eller slette data (eller printe filen)?

Det er rimelig kompliceret at forklare, men håber der en der kan hjælpe :)  Jeg ville gerne give mere end 200 point, men det kan åbenbart ikke lade sig gøre?!
Avatar billede supertekst Ekspert
19. februar 2015 - 14:25 #1
Du er velkommen til at sende filerne / model m.v.
@-adresse under min profil.
Avatar billede supertekst Ekspert
20. februar 2015 - 15:34 #2
Dim tabA As Variant, tabM As Variant
Dim adrA As String, adrM As String

Const APFtabel = "E9;E10;E13;E14;E23;N9;N10;N11;N12;N14"
Const MDStabel = "A;M;N;P;L;T;H;I;O;;"
Dim APF As Workbook
Const APFilNavn = "APForm_macro_pdf - test.xlsm"
Const APFsti = "C:\Users\peter\Desktop\Eksp.NiclasMadsen\"
Const APFarkNavn = "Disposition of new supplier"

Dim sysXls As Object
Dim ræk As Integer
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 1 Then
        If Target <> "" Then
            Cancel = True
            ræk = Target.Row
            Set sysXls = ActiveWorkbook
            åbnAPF
            overførData
       
            APF.Save
            APF.Close
            Set APF = Nothing
           
            Set sysXls = Nothing
        End If
    End If
End Sub
Private Sub åbnAPF()
    Workbooks.Open APFsti & APFilNavn
    Set APF = ActiveWorkbook
    APF.Sheets(APFarkNavn).Activate
End Sub
Private Sub overførData()
Dim ix As Integer
    tabA = Split(APFtabel, ";")
    tabM = Split(MDStabel, ";")
   
    Application.ScreenUpdating = False
   
    For ix = 0 To UBound(tabM) - 1
        If Trim(tabM(ix)) <> "" Then
            adrM = tabM(ix) & ræk
           
            If tabA(ix) <> "" Then
                adrA = tabA(ix)
            End If
       
            With APF.ActiveSheet
                .Range(adrA).Value = sysXls.Sheets(1).Range(adrM).Value
            End With
        End If
    Next ix
End Sub
Avatar billede vegaz Juniormester
20. februar 2015 - 15:53 #3
Virker perfekt, tak. Svar?
Avatar billede supertekst Ekspert
20. februar 2015 - 16:11 #4
Et svar..
Avatar billede supertekst Ekspert
20. februar 2015 - 18:29 #5
også god weekend til dig
Avatar billede supertekst Ekspert
22. februar 2015 - 22:57 #6
Version er netop afsendt..
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