Avatar billede passiflora Juniormester
14. maj 2007 - 10:38 Der er 17 kommentarer og
1 løsning

Hente data fra anden fil

Hej

Jeg vil gerne kopierer data fra anden excel fil, vha. af makro, hvorledes gør jeg mon lettest det ... jeg ved at jeg kunne bruge dataforbindelse eller åbne arket og kopi paste ...

Søren
Avatar billede koppelgaard Praktikant
14. maj 2007 - 10:42 #1
Har du tænkt på Lopslag ?
Avatar billede passiflora Juniormester
14. maj 2007 - 10:49 #2
Nej egentlig ikke ... dvs. at jeg bruger lopslag i dag, men kun internt i arket ... hmm ...
Avatar billede word-hajen Nybegynder
14. maj 2007 - 14:27 #3
Prøv at se, om du kan bruge noget fra http://www.eksperten.dk/spm/776324
Avatar billede passiflora Juniormester
15. maj 2007 - 13:08 #4
Word-hajen:  Jeg har prøvet at Kopierer og justerer til ...

Men ... efter kopiering vil jeg jo gerne lukke det ark jeg henter i. hvorefter jeg bliver spurgt om jeg vil gemme de data jeg har i min udklipsholder ... og det vil jeg jo mægtig gerne :)

Hvordan kan jeg få makroen til at svare "ja"
Avatar billede word-hajen Nybegynder
15. maj 2007 - 14:22 #5
Hvorfor vil du gemme det kopierede i udklipsholderen? Når først du har sat det ind i den anden fil, er der vel ingen grund til at gemme det i udklipsholderen?
Avatar billede passiflora Juniormester
15. maj 2007 - 14:29 #6
Hmm ... uanset hvornår jeg lukker "hente fra" arket vil jeg jo blive spurgt ... Havde planlagt at lukke inden jeg satte ind ...
Avatar billede word-hajen Nybegynder
15. maj 2007 - 15:51 #7
Jeg har nok pillet ved indstillingerne til klippebordet, for jeg oplever det ikke. Jeg ville ikke lukke "hente fra"-arket, inden jeg satte det kopierede ind. Kopier, sæt ind, luk. Det ville klart være min foretrukne (og dermed også min anbefaling).
Avatar billede passiflora Juniormester
15. maj 2007 - 15:54 #8
Ok ... og foretrækker du ... så er det det jeg gør ... så skal jeg bare finde tilbage til arket igen.

Tak
Avatar billede word-hajen Nybegynder
15. maj 2007 - 17:24 #9
Finde tilbage? Hvor vil du tilbage til? Hvis du har brugt en del af min kode, har du formentlig også et objekt, som kan aktivere den rigtige fil/evt. ark for dig igen.

Smid evt. din kode herinde og fortæl mig, hvad du vil.
Avatar billede passiflora Juniormester
16. maj 2007 - 01:32 #10
Jovist et objekt, i den fil jeg åbner, men ikke i den jeg har åben. Og jeg ved ikke hvad jeg skal skrive for at aktiverer objekterne, altså for at kunne skifte mellem dem.

Her lidt kode, med indføjet det som jeg tror at jeg mangler ...

Public Sub Hentkundedata()
    Dim objRange As Range
    Dim strFileName As String
    Dim objWB_kdata As Workbook
    Dim objWS_kdata As Worksheet
    Dim objWB_tilbud As Workbook
   
    On Error GoTo Error_CopyToOtherWorkbook
   
    Set objWB_tilbud = "det åbne tilbud"
   
    strFileName = ActiveWorkbook.Sheets("ark1").Range("v1") & Range("v2").Value
   
    If strFileName <> "" Then
        If Dir(strFileName) <> "" Then
            Set objWB_kdata = Workbooks.Open(strFileName)
            Set objRange = ActiveWorkbook.Sheets("kundedata").Range("A3:r100")
            objRange.Copy
           
            Her skal jeg så tilbage og arbejde i tilbudet
           
            Range("A3").Select
            ActiveSheet.Paste
            objWB_kdata.Close True
           
        Else
            MsgBox "Kundedatafilen " & strFileName & " findes ikke på valgte sted.", vbCritical
        End If
    Else
        MsgBox "Filnavn mangler.", vbCritical
    End If
   
End_Error_CopyToOtherWorkbook:
    Set objRange = Nothing
    Set objWB_kdata = Nothing
    Set objWS_kdata = Nothing
    Set objWB_Tilbud = Nothing
    Exit Sub
   
Error_CopyToOtherWorkbook:
    MsgBox "Der er sket en fejl." & vbCr & "Fejl nr.: " & Err.Number & vbCr & "Fejlmeddelelse: " & Err.Description
    Resume End_Error_CopyToOtherWorkbook
End Sub

Mon du kan finde hoved og hale i det ...
Avatar billede marten123 Nybegynder
16. maj 2007 - 11:36 #11
hvad er der galt med en dataforbindelse, som du selv nævner? Det er ret effektivt og hvis dataene i arket hvor du henter i bliver opdateret, bliver det opdateret i arket der henter ved klik på opdater knappen
Avatar billede passiflora Juniormester
16. maj 2007 - 12:01 #12
Der er intet i vejen med dataforbindelse, i det her tilfælde vil det være bruger afhængig / situationsbestemt hvilken fil dataerne skal hentes fra, og den enkelte bruger er ikke nødvendigvis vidende om, hvorledes de skifte datafil.

Jeg har tidligere forsøgt, at få makro til automatisk at oprette dataforbindelsen og så hente via den, med det lykkedes mig aldrig at få det array'et til at spille til at spille, så brugeren blot indtastede "data filens navn". Jvf. http://www.eksperten.dk/spm/775145  - kunne det lykkedes ville jeg nok vælge den.
Avatar billede word-hajen Nybegynder
16. maj 2007 - 20:43 #13
Er

Set objWB_tilbud = "det åbne tilbud"

udtryk for det aktive ark, når du starter? I så fald skal du bare skrive:

Set objWB_tilbud = ActiveWorkbook

Hvis du så senere har behov for at tilgå noget i "tilbudsfilen", bruger du bare denne reference. F.eks.:

objWB_tilbud.Sheets(1)..... (et eller andet)

I øvrigt en kommentar til din kode - når du har kopieret dit range (objRange.Copy), bør du sætte det kopierede ind, før du begynder på noget andet (du skriver: "Her skal jeg så tilbage og arbejde i tilbudet").

Mht. linjen Range("A3").Select - hvis du kigger i min kode, vil du se, at jeg ikke selecter... jeg sætter et range i stedet, som jeg så "smider" det kopierede ind i. På den måde er du fri for at få din markør til at "hoppe rundt" mellem filer, ark, celler osv.
Avatar billede passiflora Juniormester
16. maj 2007 - 23:20 #14
Først et stor tak

Og jo vidste blot ikke, hvad jeg skulle skrive, derfor "det åbne tilbud"

Ligeledes med "Her skal jeg så tilbage og arbejde i tilbudet" ... vidste ikke hvorledes jeg kunne skrive til tilbudsarket. Og naturligvis indsætte før vidre arbejde.
Avatar billede word-hajen Nybegynder
17. maj 2007 - 10:42 #15
Velbekomme. Er min forklaring nok til, at du kan komme videre med det, du skal?
Avatar billede passiflora Juniormester
23. maj 2007 - 23:32 #16
Hejsa Word-haj

Det tog lige lidt, inden jeg lige fik tid og lege.

Jo, forklaring nok, og nu den del også køreklar. Dejligt.

Nu må jeg så vist tilbage og finde løsningen på mit dataforbindelses problem.

Egentlig burde du have dobbelt op i point ... kan du mon sende to svar eller ..

Tak igen
Avatar billede word-hajen Nybegynder
24. maj 2007 - 08:41 #17
Antal point er ikke afgørende. Bare du har fået den hjælp, som du skulle bruge og du kvitterer for hjælpen med at acceptere svaret.
Avatar billede passiflora Juniormester
24. maj 2007 - 08:45 #18
Men så ... endnu en gang tak for hjælpen.

Og her har jeg får den hjælp jeg havde brug for. Det passer mig godt ikke få løsningen, men at have den i stå lidt på tå afstand.
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