Copy-paste sheet "X" van Excel file "X" naar sheet "Y" van Excel file "Y" (VBA)

Status
Niet open voor verdere reacties.

Djani

Gebruiker
Lid geworden
16 mrt 2016
Berichten
67
Hoi allemaal,

Ik heb een VBA script gevonden die mij goed op weg helpt in het automatisch kopieren en plakken van 1 sheet naar de andere. Echter, ik kom er niet helemaal uit:

Code:
Sub test()


FileName = "CENTER C&D.xlsb"
 Workbooks.Open "I:\R&E Internal\01 Reporting & Tools\05 Pricing\01 Monthly Topics\01 VIVA\01 PC\VIVA TOOL 2.0\CENTER\" & FileName
 
Dim destWS As Worksheet, LR As Long
Set destWS = ActiveSheet
LR = Workbooks(FileName).Worksheets("DATABASE").Range("A" & Rows.Count).End(xlUp).Row
'Copy data from Sheet deliverable to activesheet
Workbooks(FileName).Worksheets("DATABASE").Range("A2:AE" & LR).Copy _
ThisWorkbook.destWS.Range("A2")
End Sub

Als ik de macro wil 'runnen', dan krijg ik de volgende foutmelding "Method or data member not found" bij het stukje code: ThisWorkbook.destWS.Range("A2")

In plaats van destWS = ActiveSheet, is het ook mogelijk om destWS = "DATABASE AB" te doen?

Hopelijk kunnen jullie mij verder helpen!

Alvast ontzettend bedankt.
 
Lijkt mij dat je niet
Code:
ThisWorkbook.destWS.Range("A2")
moet gebruiken maar
Code:
destWS.Range("A2")

Natuurlijk uitproberen op een kopie van je Excel document, niet (meteen) op het origineel.

Tijs.
 
Ik heb nu de volgende werkende script weten te bouwen:

Code:
Sub test()

FileName = "CENTER C&D.xlsb"

Workbooks.Open "I:\R&E Internal\01 Reporting & Tools\05 Pricing\01 Monthly Topics\01 VIVA\01 PC\VIVA TOOL 2.0\CENTER\" & FileName
 
Dim destWS As Worksheet, LR As Long
Set destWS = ActiveSheet
LR = Workbooks(FileName).Worksheets("DATABASE").Range("A" & Rows.Count).End(xlUp).Row
'Copy data from Sheet DATABASE to activesheet
Workbooks(FileName).Worksheets("DATABASE").Range("A1:AE" & LR).Copy _
ThisWorkbook.ActiveSheet.Range("A1")
    Application.CutCopyMode = False
Workbooks(FileName).Close False
End Sub

Er zijn echter een paar dingen:
1. Ik moet nog altijd de reference sheet bepalen --> nu is dat de "ActiveSheet" (de master file zal altijd geopend zijn, maar de desbetreffende sheet niet)
2. De gekopieerde data neemt alle formattering over, formules etc. --> deze moeten geplakt worden als values
 
Het wordt nu naar Sheets(1) gekopieerd.
Code:
Sub hsv()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With Workbooks.Open([COLOR=#3E3E3E]"I:\R&E Internal\01 Reporting & Tools\05 Pricing\01 Monthly Topics\01 VIVA\01 PC\VIVA TOOL 2.0\CENTER\[/COLOR][COLOR=#3E3E3E]CENTER C&D.xlsb"[/COLOR])
 .Sheets([COLOR=#3E3E3E]"DATABASE"[/COLOR]).UsedRange.Copy
   ThisWorkbook.Sheets(1).Cells(1).PasteSpecial -4163
 .Close 0
End With
Application.DisplayAlerts =true
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan