2017-07-27 66 views
0

我正在嘗試編寫一個代碼以將工作表複製到打開的工作簿。但最後我得到了路徑錯誤。將工作表複製到另一個工作簿 - 路徑錯誤

代碼看起來像這樣;

Sub Storyboard_Ekle() 
    Dim DosyaSec As Office.FileDialog 

    Set DosyaSec = Application.FileDialog(msoFileDialogFilePicker) 

    With DosyaSec 

     .AllowMultiSelect = False 
     .Title = "Lütfen yeni eklenecek Storyboard dosyasini seçiniz." 
     .Filters.Clear 
     .Filters.Add "Excel Macro-Enabled Workbook", "*.xlsm" 
     .Filters.Add "Excel Workbook", "*.xlsx" 
     .Filters.Add "All Files", "*.*" 

     If .Show = True Then 
     YeniSB = .SelectedItems(1) 
     End If 

Dim YeniStoryBoard As Workbook 
Dim AnaDosya As Workbook 
Dim YeniStoryBoard_Sheet As Worksheet 
Dim AnaDosya_Sheet As Worksheet 

Application.ScreenUpdating = False 

Set AnaDosya = ThisWorkbook 

YeniStoryBoard.Sheets("Storyboard").Copy After:=ThisWorkbook.Sheets("Kunye") '-> This gives error 

YeniStoryBoard.Close 

Set YeniStoryBoard_isim = Sheets("Storyboard") 
YeniStoryBoard_isim.Name = "StoryboardXXYYZZ" 


    End With 
End Sub 

我要做出起的代碼進行一些修改,但是這並不正常工作。 ?:(

任何建議

+0

是在同一個目錄中的工作簿? –

+1

樣子YeniStoryBoard_isim&YeniStoryBoard是兩個不同的變量witht他從未後者爲S-等 –

+0

@DougCoats - 完全一樣的想法:) – Vityata

回答

1

這裏是一個行代碼來解決你的情況:。

Public Sub TestMe 
    ThisWorkbook.Worksheets("Storyboard").copy after:= ThisWorkbook.Worksheets("Kunye") 
End Sub 

它應該工作,然後開始檢查什麼不你的情況一行行工作,我猜測,問題是,Dim YeniStoryBoard As Workbook後,您沒有設置它。因此,Nothing

+0

這是我的不好,我沒有在代碼中設置「YeniStoryBoard」。我如何在代碼中將「YeniSB」設置爲?正如你所看到的,YeniSB給了我路徑和文件名。我如何在代碼中將它用作工作簿對象? – Bildircin13

相關問題