2017-04-10 8 views
0

Ich habe bereits nach diesem Problem gesucht, aber alle Beispiele sind viel zu kompliziert. Ich kann einfach nicht "Set Arbeitsmappe" und "Set Arbeitsblätter" -Objekt verwenden. Ich bekomme den Fehler 1004: Objektdefinierter Fehler.Arbeitsmappe und Arbeitsblatt richtig zuweisen VBA

Ich möchte Pfad von der Zieldatei Blatt lesen "Pfad" C: \ Benutzer \ Holger \ Documents \ VBA \ WB_data.xlsx

Bitte jemand helfen.

Sub Get_numbers() 

'I have got 2 sheets 
Dim WB_dest As Workbook 
Dim WB_data As Workbook 

'I need 3 worksheets 
Dim path_sheet As Worksheet 
Dim dest_sheet As Worksheet 
Dim data_sheet As Worksheet 

'Data worksheet's path 
Dim path As String 

'Counter 
Dim i As Byte 

'I run this sub from destination file sheet "PATH" which is already open 
Set WB_dest = ThisWorkbook 
Set path_sheet = WB_dest.Worksheets("Path") 
Set dest_sheet = WB_dest.Worksheets("TO") 

'I set worksheet from the Excel taht I do not need to open, just reading 
Set WB_data = Workbooks.Open(path) 
Set data_sheet = WB_data.Worksheets("FROM") 

'Data sheet contains three numbers in the first column 
'and destination sheet also contains only three numbers in the first coulm 
'I would like to add data_sheet numbers after dest_sheet numbers 
For i = 4 To 6 
    dest_sheet.Cells(i, 1) = data_sheet(i, 1) 
Next i 
+0

Sie nie so die Variable 'path' definieren, wenn Sie versuchen, eine Arbeitsmappe zu öffnen, kann es nicht einen Weg der' null' finden – tigeravatar

+0

Was ist ' data_sheet (i, 1) 'soll das sein? 'data_sheet' ist ein Arbeitsblatt. Worauf soll das "(i, 1)" verweisen? – BruceWayne

Antwort

0

Try this ...

Sub Get_numbers() 

'I have got 2 sheets 
Dim WB_dest As Workbook 
Dim WB_data As Workbook 

'I need 3 worksheets 
Dim path_sheet As Worksheet 
Dim dest_sheet As Worksheet 
Dim data_sheet As Worksheet 

'Data worksheet's path 
Dim path As String 

'Counter 
Dim i As Byte 

path = "C:\Users\Holger\Documents\VBA\WB_data.xlsx" 

'I run this sub from destination file sheet "PATH" which is already open 
Set WB_dest = ThisWorkbook 
Set path_sheet = WB_dest.Worksheets("Path") 
Set dest_sheet = WB_dest.Worksheets("TO") 

'I set worksheet from the Excel taht I do not need to open, just reading 
Set WB_data = Workbooks.Open(path) 
Set data_sheet = WB_data.Worksheets("FROM") 

'Data sheet contains three numbers in the first column 
'and destination sheet also contains only three numbers in the first coulm 
'I would like to add data_sheet numbers after dest_sheet numbers 

data_sheet.Range("A4:A6").Copy 
dest_sheet.Range("A4").PasteSpecial xlPasteValues 
'For i = 4 To 6 
' dest_sheet.Cells(i, 1) = data_sheet(i, 1) 
'Next i 

End Sub 
Verwandte Themen