Avatar billede KenneyD71 Nybegynder
16. november 2012 - 20:12 Der er 2 kommentarer og
1 løsning

Importer oplysninger fra bestem faneblad i xls, til et bestemt faneblad i et andet xls

"excel Navn A", Faneblad "cykler" indeholder data.

Jeg ønsker at køre en makro i "excel Navn B", der kopierer alle oplysninger fra "excel Navn A", Faneblad "cykler"
og
sætter dem ind i
"excel Navn c", Faneblad "transport"

Hvordan skal sådan en kode se ud?

Hvad hvis der er password på A hhv. B?
Avatar billede KurtOA Praktikant
17. november 2012 - 12:40 #1
Et forslag kunne se ud som følger:

Koden køres fra et modul i "målfilen"

Navn på Kildefil skal rettes til i koden
Navne på ark skal rettes til i koden
Password på kildefil skal rettes til i koden

Koden åbner så kildefil
- kopierer alle celler i kildearket
- indsætter dem i mål-arket
- lukker kildefilen igen uden at ændre den.
- tømmer hukommelsen


Sub collect()

Dim sourceFil As String
sourceFil = "kopifra.xls"

Dim wbTarget As Workbook, wbSource As Workbook
Dim wsTarget As Worksheet, wsSource As Worksheet

Set wbTarget = ThisWorkbook
Set wsTarget = wbTarget.Sheets("Ark1")

If Not Dir(sourceFil) > "" Then ' checker om sourcefil findes
MsgBox "Fejl - " & sourceFil & " kan ikke findes"
Exit Sub
End If

Workbooks.Open Filename:=sourceFil, Password:="0000"
Set wbSource = ActiveWorkbook

Set wsSource = wbSource.Sheets("Ark1") ' navnet på arket i målfilen

wsSource.Cells.Copy

wbTarget.Activate
wsTarget.Select
Cells.Select
ActiveSheet.Paste
Application.CutCopyMode = False

wbSource.Close

End Sub


mvh Kurt O-A
Avatar billede KenneyD71 Nybegynder
17. november 2012 - 17:13 #2
Det var LIGE det jeg havde brug for.
Tak for hjælpen. Sender du mig lige et "svar" så du kan få dine point.

Der skulle en mindre rettelse til.
min book gik i fejl på
Set wsTarget = wbTarget.Sheets
og på
wsTarget.Select
....
Sub collect()
'sætter kilden
Dim sourceFil As String
sourceFil = "C:\Users\kennet\Desktop\Kildemappen\Kildefilen.xls"

Dim wbTarget As Workbook, wbSource As Workbook
Dim wsTarget As Worksheet, wsSource As Worksheet
'sætter målet
Set wbTarget = ThisWorkbook
Set wsTarget = Sheets("Målarket")

'fejlchek hvis kilden ikke findes
If Not Dir(sourceFil) > "" Then
MsgBox "Fejl - " & sourceFil & " kan ikke findes"
Exit Sub
End If
'åbner kildefilen
Workbooks.Open Filename:=sourceFil
', Password:="0000" 'hvis der er password
Set wbSource = ActiveWorkbook

Set wsSource = wbSource.Sheets("Kildearket") ' navnet på arket i målfilen

wsSource.Cells.Copy
'aktiverer målkilden
wbTarget.Activate
'aktiverer arket
wsTarget.Activate
'vælger alle celler i arket
Cells.Select
'sætter ind i det aktive ark
ActiveSheet.Paste
Application.CutCopyMode = False

'lukker kilden
wbSource.Close

End Sub
Avatar billede KurtOA Praktikant
17. november 2012 - 20:10 #3
Glad for at kunne hjælpe ;-)

God fornøjelse.

mvh Kurt
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