• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

VBA kopieer werkblad van een bestand naar andere bestand

Status
Niet open voor verdere reacties.

Kirana2014

Gebruiker
Lid geworden
21 okt 2020
Berichten
55
Beste,

Graag jullie hulp in Excel macro hoe kan ik de werkblad van een Excel bestaand naar andere Excel bestand kopieer

1. open het Excel bestand met een naam in de cel A1 in de map directory in de Cel B2 (zie afbeeldingen)
2. open het Excel bestand met een naam in de cel A2 in de map directory in de Cel B3 ( zie afbeeldingen)
3. kopieer het werkblad van het bestand met de naam in de cel A1 naar het bestand met een naam in de cel A2 daarna dit bestand opslaan (zie afbeeldingen)
met een naam in cel A9 en map directory in de Cel B9
4 sluit het bestand met een naam in Cel A1 en Cel B2

Deze VBA heb ik gemaakt in een excel bestand met de naam "Master"
ik wil het op deze manier omdat de naam en de map directory altijd veranderd

Alvast bedankt

Code:
Sub CopySheets()
Dim MasterWorkbook As Workbook
Dim Data1Workbook As Workbook
Dim Data2Workbook As Workbook

Set Data1Workbook = Workbooks("Data1")
Set Data2Workbook = Workbooks("Data2")

Dim Data1Sheet As Worksheet

For Each Data1Sheet In Data1Workbook.Sheets
Data1Sheet.Copy After:=Data2Workbook.Sheets(Data2Workbook.Sheets.Count)
Next

End Sub
 

Bijlagen

  • 2021-02-11 19_29_23-Window.png
    2021-02-11 19_29_23-Window.png
    40,4 KB · Weergaven: 29
  • Master.xlsm
    Master.xlsm
    17,5 KB · Weergaven: 13
  • Data1.xlsx
    Data1.xlsx
    9 KB · Weergaven: 14
  • Data2.xlsx
    Data2.xlsx
    8 KB · Weergaven: 11
Laatst bewerkt:
Het lijkt gewoon op 2x een kopie onder twee namen.
Je kan hem zo uitvoeren met alleen het masterbestand open. PS: zorg ervoor dat je complete pad in de cellen staat, anders werkt het niet.

Code:
Sub j_v()
With GetObject(Range("B2") & "\" & Range("A2") & ".xlsx")
 .SaveCopyAs Range("B3") & "\" & Range("A3") & ".xlsx"
 .SaveCopyAs Range("B9") & "\" & Range("A9") & ".xlsx"
End With
End Sub
 
Laatst bewerkt:
Dat zou wel moeten kunnen
 
Zie de foto van de resultaat zoals ik wil
 

Bijlagen

  • CC6AE2F5-5558-43A4-A79B-615A958E6BC9.jpeg
    CC6AE2F5-5558-43A4-A79B-615A958E6BC9.jpeg
    107,1 KB · Weergaven: 26
Het vervelende van GetObject.
Even naar Menu Beeld → Zichtbaar maken.

Daar is ook wel een foefje voor in Vba.
Code:
GetObject(s0).windows(1).visible = True
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan