Avatar billede spoi Nybegynder
24. februar 2012 - 13:46 Der er 12 kommentarer

kopiere format fra celle i en fil til celle i en anden fil

hej jeg har nogle data jeg kopierer fra en celle i en fil til en celle i en anden fil - men formater kommer ikke med. Er der nogen her der kan hjælpe mig videre

lille stump af koden kommer her

Rem opdateres filen
Private Sub opdaterVfil(kid, ræk)
Dim xls
    Set xls = CreateObject("Excel.application")
    With xls
   
Rem Åbn V-filen
        .Workbooks.Open vsti + kid
        .Sheets(1).Unprotect Password:="xxxx"
       
        'overskrifter
        '.Sheets(1).Cells(23, 2) = Cells(2, 6) ' overfører overskrift:Koncept tromler fra F6 og  sætter ind i B23
       
       
       
       
        .Sheets(1).Cells(3, 3) = Cells(ræk, 2) 'overførerkundenr
        .Sheets(1).Cells(4, 3) = Cells(ræk, 23) ' overfører stack fra kolonne 23 og  sætter ind i C30

LN
Avatar billede kabbak Professor
24. februar 2012 - 22:24 #1
prøv med

   
        .Sheets(1).Cells(3, 3).Copy Cells(ræk, 2) 'overførerkundenr
        .Sheets(1).Cells(4, 3).Copy Cells(ræk, 23) ' overfører stack fra kolonne 23 og  sætter ind i C3
Avatar billede spoi Nybegynder
25. februar 2012 - 17:24 #2
ok mange tak det vil jeg prøve Når dog ikke at teste før onsdag. og vender så tilbage.

LN
Avatar billede kabbak Professor
26. februar 2012 - 07:39 #3
de skulle lige vendes

Cells(ræk, 2).Copy  .Sheets(1).Cells(3, 3)
Cells(ræk, 23).Copy .Sheets(1).Cells(4, 3)
Avatar billede spoi Nybegynder
28. februar 2012 - 13:31 #4
æv det virker slet ikke
der sker ikke noget overhovedet - den opdaterer heller ikke hvis jeg ændrer det der står i cellen - så nu gør den absolut intet. Men får ingen fejlmeddelelse

æv æv

LN
Avatar billede kabbak Professor
28. februar 2012 - 18:09 #5
Nu kommer det jo an på hvilken af projektmapperne du har aktiv.

Du har . punktum foran .Sheets(1).Cells(3, 3)

så må du jo også have een linje med

With ThisWorkbook
eller
With ActiveWorkbook

eller andet for at det virker, så vis mere kode, så må vi se
Avatar billede spoi Nybegynder
29. februar 2012 - 09:54 #6
Denne her???

ActiveWorkbook.Sheets(1).Activate

Beklager jeg er så dum til det her.
Jeg lavede dette i 2007 og har ikke kodet siden.
Men nu skal der ændres og optimeres.

LN
Avatar billede spoi Nybegynder
29. februar 2012 - 10:29 #7
var kommet til at sætte punktum foran cells
uden dette punktum får jeg følgende meddelelse

Metoden copy for klassen Range mislykkes

LN
Avatar billede spoi Nybegynder
29. februar 2012 - 10:38 #8
mere kode

Const DFræk1 = 3
Const Vsti = "C:\instruktioner\version\"  'tilpasses
Dim DFantalRæk
Sub data()
Dim knr
Rem find sidste række i DATAFIL
    ActiveWorkbook.Sheets(1).Activate
    DFantalRæk = ActiveCell.SpecialCells(xlLastCell).Row
   
    For ræk = DFræk1 To DFantalRæk
        knr = Cells(ræk, 2)
        If knr <> "" Then
       
Rem Undersøg om filen KUNDENR+v findes
            If findesVfil(CStr(knr) & "v") = True Then
           
Rem Hvis ja - opdater v-FILEN
                opdaterVfil CStr(knr) & "v.xlsm", ræk
            End If
        End If
    Next ræk
   
    MsgBox ("Opdatering af V-filer afsluttet")
End Sub
Private Function findesVfil(kid)
Dim fs, f, f1, fc, s
 
Rem Søg efter versions-fil
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(Vsti)
    Set fc = f.Files
    For Each f1 In fc
        If InStr(f1.Name, kid) = 1 Then
            findesVfil = True
            Exit Function
        End If
    Next
    findesVfil = False
End Function
Private Sub opdaterVfil(kid, ræk)
Dim xls
    Set xls = CreateObject("Excel.application")
    With xls
   
Rem Åbn V-filen
        .Workbooks.Open Vsti + kid
        .Sheets(1).Cells(4, 5) = Cells(ræk, 5)          'Fra DATAFIL overføres Kolonne E & F til v-fil
        .Sheets(1).Cells(5, 5) = Cells(ræk, 6)
        .Application.DisplayAlerts = False
        .ActiveWorkbook.Save
    End With

Rem Lukker v-fil-objektet
    xls.ActiveWorkbook.Close
    xls.Application.Quit
    Set xls = Nothing
End Sub



En af årsagerne til at jeg skal ændre er at jeg er på 2010 nu og ja alt virker ikke lige godt

De filer jeg kopierer til er xlsm dvs med aktive makroer

LN
Avatar billede kabbak Professor
02. marts 2012 - 22:03 #9
Rem Åbn V-filen
        .Workbooks.Open Vsti + kid
        Cells(ræk, 5).copy .Sheets(1).Cells(4, 5)  'Fra DATAFIL overføres Kolonne E & F til v-fil
      Cells(ræk, 6).Copy  .Sheets(1).Cells(5, 5)
        .Application.DisplayAlerts = False
        .ActiveWorkbook.Save
    End With


det er hvad jeg mener skal rettes
Avatar billede spoi Nybegynder
08. marts 2012 - 10:05 #10
æn det er præcis det jeg gør og den kommer med fejl meddelelsen

run time error

Metoden copy for klassen range mislykkedes

LN
Avatar billede kabbak Professor
08. marts 2012 - 19:29 #11
så har jeg ikke løsningen
Avatar billede spoi Nybegynder
09. marts 2012 - 10:50 #12
æv

kan det være noget med at de filer der skal kopieres til er af formatet xlsm idet der er makroer i hver fil

LN
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