Avatar billede MartinJ1234 Nybegynder
19. oktober 2015 - 12:36 Der er 11 kommentarer og
1 løsning

Fejl i overførelse af data fra et ark til et andet

Jeg har et regneark, hvor jeg har en makro som overføre data til et delt regneark.

Den er gemt som en skabelon.

Den virker, men lige pludselig holder den op med at virke.

Den kommer med denne fejl meddelelse:


Run-time error '1004':

Application-defined or object-defined error


Nogen som kan komme med et bud på hvad der går galt?
19. oktober 2015 - 12:46 #1
Ikke uden at se noget kode.
Avatar billede MartinJ1234 Nybegynder
19. oktober 2015 - 12:59 #2
Dim produkt As Object

Const dataSamlerSti = "F:\Regnskab\Statusark\"
Const dataSamlerFilNavn = "Statusliste 2015.xlsm"
Dim dataSamler As Object
Private Sub CommandButton1_Click()
Dim produktId, rækDs As Integer
    Set produkt = ActiveWorkbook
   
    produktId = Range("B5")
   
    Set dataSamler = CreateObject("Excel.Application")
    dataSamler.Workbooks.Open dataSamlerSti & dataSamlerFilNavn
   
    rækDs = findRækkeDataSamler(produktId)
    If rækDs > 0 Then
        kopierData rækDs
        dataSamler.ActiveWorkbook.Save
    Else
        MsgBox "ProduktId ikke fundet"
    End If
       
    dataSamler.Quit
    Set dataSamler = Nothing
End Sub
Private Function findRækkeDataSamler(produktId)
Dim antalRækker As Integer
    antalRækker = dataSamler.ActiveCell.SpecialCells(xlLastCell).Row
   
    With dataSamler.Sheets(dataSamlerArkNavn)
        dataSamler.Sheets(dataSamlerArkNavn).Activate
       
        For Each CC In .Range("B5:B" & antalRækker)
            If produktId = CC Then
                findRækkeDataSamler = CC.Row
                Exit Function
            End If
        Next CC
    End With
    findRækkeDataSamler = 0
End Function
Private Sub kopierData(rækDs)
    With dataSamler.Sheets(dataSamlerArkNavn)
        .Range("L" & rækDs) = produkt.Sheets(1).Range("Udsendt_budgopf3")
        .Range("M" & rækDs) = produkt.Sheets(1).Range("resultat_budgopf3")
        .Range("N" & rækDs) = produkt.Sheets(1).Range("SvarDato_budgopf3")
        .Range("O" & rækDs) = produkt.Sheets(1).Range("rykkerbrev1_budgopf3")
        .Range("P" & rækDs) = produkt.Sheets(1).Range("rykkerbrev2_budgopf3")
        .Range("Q" & rækDs) = produkt.Sheets(1).Range("kodefelt_budgopf3")
        .Range("X" & rækDs) = produkt.Sheets(1).Range("SendtMakker_3")
        .Range("Y" & rækDs) = produkt.Sheets(1).Range("ReturMakker_3")
       
    End With
End Sub
19. oktober 2015 - 13:02 #3
Ok - og hvor fejler den så?
Avatar billede MartinJ1234 Nybegynder
19. oktober 2015 - 13:05 #4
Når jeg fortager debug

viser den fejlen her

With dataSamler.Sheets(dataSamlerArkNavn)
        .Range("L" & rækDs) = produkt.Sheets(1).Range("Udsendt_budgopf3")
19. oktober 2015 - 13:13 #5
Har du tjekket at navnet "Udsendt_budgopf3" findes i den fil objektet produkt peger på?

Og at der er værdi i variablen rækDs?
Avatar billede MartinJ1234 Nybegynder
19. oktober 2015 - 14:25 #6
Makroen virker men så lige pludselig holder den op med og virke og kommer med fejl vindue


Run-time error '1004':

Application-defined or object-defined error


Der er findes en værdi og den findes i objektet produkt som den  peger på?
Avatar billede MartinJ1234 Nybegynder
19. oktober 2015 - 14:43 #7
Det virker som om man aldrig bliver logget af det delt ark igen, når den overføre data
19. oktober 2015 - 14:45 #8
Hvad er indholdet af cellen?
produkt.Sheets(1).Range("Udsendt_budgopf3")
Avatar billede MartinJ1234 Nybegynder
19. oktober 2015 - 14:58 #9
Den indeholder en dato.
Avatar billede MartinJ1234 Nybegynder
19. oktober 2015 - 15:00 #10
Men når den overføre til det andet ark, så får den ikke logget en af igen.

Kan det være med til at påvirke fejlen?
19. oktober 2015 - 15:11 #11
Jeg tror ikke jeg kan hjælpe yderligere uden "hands on"
Avatar billede MartinJ1234 Nybegynder
11. november 2015 - 07:33 #12
lukker den
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