18. februar 2015 - 16:59Der 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?!
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
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.