31. januar 2010 - 15:45Der er
6 kommentarer og 1 løsning
Åbne en excel fil og hent over i skabelon
Hej
Jeg sidder og er ved at brygge en VBA kode sammen, men er løbet ind i et problem med at hente en excel fil over i en skabelon.
Når jeg har skabelonen åben har jeg en knap jeg kan trykke på. Men først skal man vælge et personnavn fra en dropdown, der er lavet i datavalidering. Bagefer skal man skrive et faktura nummer, og så trykke på knappen. Den skal så hente fakturaen på den pågældende person med det faktura nummer.
De ligger i en mappe der hedder Faktura/excelfakturaDB/person/faktura_nr.
Har prøvet med denne kode :.
Sub rykker_3() ' ' rykker_3 Makro Dim nummer Dim kunde nummer = ActiveWorkbook.Sheets(2).Cells(8, 4) 'skal tilpasses kunde = ActiveWorkbook.Sheets(2).Cells(8, 2) Workbooks.Open ("c:\Faktura\excelfakturaDB\" & kunde & "\faktura_" & nummer & ".xls") ' ret til den fil du åbner ved ny faktura Range("A21:C45").Select Selection.Copy ActiveWindow.WindowState = xlMinimized ActiveWindow.SmallScroll Down:=-15 Range("A21").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.Run "Backup" Windows("faktura_" & nummer & ".xls").Activate ActiveWindow.WindowState = xlNormal ActiveWindow.WindowState = xlNormal ActiveWindow.Close End Sub
Men den vil ikke virke. Det er lavet i excel 2007.
Håber at jag har udtrykt mig godt nok, eller bare skriv og spørg.
Glemte lige at skrive at når den har hentet det der ligger mellem celle a21:d45 skal den ligge det over i skabelonen og lukke det excel ark den lige har åbnet.
Sub rykker_3() ' ' rykker_3 Makro Dim nummer Dim kunde nummer = ActiveWorkbook.Sheets(2).Cells(8, 4) 'skal tilpasses kunde = ActiveWorkbook.Sheets(2).Cells(8, 2) Workbooks.Open ("c:\Faktura\excelfakturaDB\" & kunde & "\faktura_" & nummer & ".xls") ' ret til den fil du åbner ved ny faktura
Range("A21:C45").Select' du har åbnet et anden mappe, det er der du vælger nu, er der kun et ark ??
Range("A21").Select' du er stadig i det nye åbnede ark, jeg tror du vil ind i skabelonen ??
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.Run "Backup" ' hvad er det for en fætter Windows("faktura_" & nummer & ".xls").Activate ActiveWindow.WindowState = xlNormal ActiveWindow.WindowState = xlNormal ActiveWindow.Close End Sub
jeg tror at den skal se sådan ud:
Sub rykker_3() ' ' rykker_3 Makro Dim nummer Dim kunde nummer = ActiveWorkbook.Sheets(2).Cells(8, 4) 'skal tilpasses kunde = ActiveWorkbook.Sheets(2).Cells(8, 2) ' Åbner ny mappe Workbooks.Open ("c:\Faktura\excelfakturaDB\" & kunde & "\faktura_" & nummer & ".xls") ' ret til den fil du åbner ved ny faktura Range("A21:C45").Copy ' kopierer fra ny mappe ActiveWorkbook.Close False ' lukker ny mappe
Det var også min plan at når jeg havde skabelonen åben, at jeg så skulle kunne åbne et excel ark med kun et ark i. kopier det der står i det og lukke den ned igen, og lægge det over i skabelonen.
Men prøvede mig frem med at optage en makro, men kunne ikke lige få det til at fungere som jeg ville.Men prøver lige at ligge det ind du forslog og vender så lige tilbage.
Jeg havde også på et andet ark hvor på der var brugt benævnelserne kunde og nummer. Det var der det gik galt. Da jeg ændrede det til noget andet gik det meget bedre. Og det kom til at fungere.
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.