Avatar billede lineriber Praktikant
10. oktober 2012 - 12:50 Der er 3 kommentarer og
1 løsning

Hjælp til VBA - kopier/indsæt mellem 2 excel filer

Hej Eksperter

Jeg har brug for noget hjælp til en VBA kode i Excel 2007 (Engelsk version).
Først og fremmest vil jeg sige at jeg ikke er supermand til VBA koder, så forklar venligst på et forståeligt niveau ;-)

Jeg har 2 excelfiler - lad os kalde dem "AAA1xx" og "BBB".
Filen "AAA100" er én af 50 destinationsfilen som jeg skal indsætte nogle data i - de data skal komme fra filen "BBB". Denne process vil jeg gerne lave med en VBA kode.
Filen "BBB" findes der kun én af men der er omkring 50 filer af typen "AAA1xx" altså fra "AAA100" til "AAA150". Min VBA kode skal kunne bruges i alle "AAA1xx" filerne.

Jeg lavede bare en simpel macro optagning af det jeg vil gøre:

Sub test()

    Workbooks.Open Filename:= _
        "C:\Documents and Settings\Line\My Documents\BBB.xls"
    Cells.Select
    Selection.Copy
    Windows("AAA100.xls").Activate
    Sheets("Output delta").Select
    Cells.Select
    ActiveSheet.Paste
End Sub

MEN i ovenstående macro bliver der direkte henvist til én af de 50 filer af typen "AAA1xx" og jeg kan derfor ikke bruge ovenstående kode til alle mine 50 filer af typen "AAA1xx".

Kan man på en eller anden måde skrive sig ud af det i VBA kode, så man får aflæst den åbne fil's sti og navn, og den så bliver brugt som destinationsfil i VBA koden?

Mvh
Line
Avatar billede store-morten Ekspert
10. oktober 2012 - 13:11 #1
Prøv:

Sub test2()

homeArk = ActiveSheet.Name

    Workbooks.Open Filename:= _
        "C:\Documents and Settings\Line\My Documents\BBB.xls"
    Cells.Select
    Selection.Copy
   
homeArk.Activate

    Sheets("Output delta").Select
    Cells.Select
    ActiveSheet.Paste
End Sub
Avatar billede lineriber Praktikant
17. oktober 2012 - 08:52 #2
Hej Store-morten

Jeg får en fejl på "homeArk = ActiveSheet.Name":

"Run-time error '424':
Object required"

Jeg arbejder i Excel 2007. Kan der være noget med at jeg ikke kan bruge det udtryk i 2007 versionen?
Avatar billede store-morten Ekspert
17. oktober 2012 - 19:21 #3
Prøv
Sub test2()
Dim homeArk As String

homeArk = ActiveSheet.Name

    Workbooks.Open Filename:= _
        "C:\Documents and Settings\Line\My Documents\BBB.xls"
    Cells.Select
    Selection.Copy
   
homeArk.Activate

    Sheets("Output delta").Select
    Cells.Select
    ActiveSheet.Paste
End Sub
Avatar billede lineriber Praktikant
31. oktober 2012 - 09:52 #4
Det virker stadig ikke!
Jeg har løst det på en anden måde istedet.

Mvh
Line
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