Avatar billede hepygula Nybegynder
07. februar 2010 - 17:03 Der er 3 kommentarer og
1 løsning

kopier .xls fil over i .xlt skabelon

Hej

Jeg vil lige høre hvad jeg gør forkert i denne VBA kode, siden at den ikke vil kopier fra .XLS til en .Xlt fil ( skabelonen ).

Det den gør når jeg køre koden, er at den tager en kopi i skabelone istedet for at tage den af .XLS filen.

Så jeg tror at jeg mangler en linje, hvor den bliver klar over at det er i .XLS filen ( regnearket )at den skal range.

Private Sub CommandButton2_Click()

Workbooks.Open ("c:\benny.xls")

        Range("A21:C45").Copy
     
        ActiveWindow.Close

Range("A21").Select
   
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False ' sætter kopien ind i skabelonen.

End Sub

Håber at der er en der lige ligger inde med guldkornet.

Hilsen Kenneth
Avatar billede hepygula Nybegynder
07. februar 2010 - 23:18 #1
Jeg har været igang med at søge lidt i jeres side. Og har fundet denne kode, men den virker ikke helt. Den har en fejl i linjen :

With Application.FileSearch

Ellers kan den godt bruges. Men kunne godt tænke mig hvis der var en der ville give lige forklaring på det første i koden.

Der er stadig point lige meget hvilken en af koder i vil hjælpe mig med. For begge kan godt bruges i mit tilfælde.



Private Sub CommandButton2_Click()

'--------------------------------------------- prøve ----------------------------------------------

  Dim objWB As Workbook
    Dim objWS As Worksheet
    Dim objInvoiceWB As Workbook
    Dim objInvoiceWS As Worksheet
    Dim strFileName As String
    Dim fakNR As String
     
    Set objWB = ActiveWorkbook
    Set objWS = objWB.Sheets("Rykker")
 
    fakNR = objWS.Range("D8")
    strFileName = "Faktura_" & fakNR + ".xls"
 
    With Application.FileSearch
        .LookIn = "c:\Faktura\excelfakturaDB"
        .SearchSubFolders = True
        .Filename = strFileName
        If .Execute > 0 Then
            strFileName = .FoundFiles(1)
            Set objInvoiceWB = Workbooks.Open(strFileName)
            Set objInvoiceWS = objInvoiceWB.Sheets("Faktura")
            objInvoiceWS.Range("A21:D45").Copy objWS.Range("A21:D45")
            objInvoiceWS.Range("B8:B10").Copy objWS.Range("B8:B10")
            objInvoiceWB.Close False
        Else
            MsgBox "Kan ikke finde fakturanr. " & fakNR, vbInformation
        End If
    End With
 
    Set objWB = Nothing
    Set objWS = Nothing
    Set objInvoiceWB = Nothing
    Set objInvoiceWS = Nothing

End sub
Avatar billede hepygula Nybegynder
09. februar 2010 - 20:56 #2
Benytte den første kode.

Men det går godt nok ind og laver en copy og det ser også ud som om den paster det. Men jeg kan ikke se at der kommer noget tekst med over. Ved ikke om det er denne linje der skal ændres noget i, eller om der mangler en linje.

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Håber at der er en der lige vil give mig 5 min til dette her.

Hilsen Kenneth
Avatar billede hepygula Nybegynder
09. februar 2010 - 21:19 #3
Fandt selv ud af det.

Ligger lige koden ud hvis der er andre der kunne bruge den.


Men skal lige have renset ud i den, for alt det der ikke skal bruges i den.
Avatar billede hepygula Nybegynder
09. februar 2010 - 21:36 #4
Private Sub CommandButton2_Click()

Dim ryknr
    Dim pers
ryknr = ActiveWorkbook.Sheets("Rykker").Range("d8")'skal tilpasses
  pers = ActiveWorkbook.Sheets("Rykker").Range("B8")'skal tilpasses
 

Workbooks.Open ("c:\Faktura\excelfakturaDB\" & pers & "\faktura_" & ryknr & ".xls") ' ret til den fil du åbner ved gemt faktura

Worksheets("Faktura").Range("A21:D45").Copy

ActiveWorkbook.Close False ' lukker ny mappe

ActiveSheet.Paste Destination:=Worksheets("Rykker").Range("A21:D45")

End Sub
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