2016-04-04 30 views
0

我是一名Excel VBA初學者,在工作時使用一個小工具。我們使用工具來衡量我們的NPS評分,因此我可以將所有評論下載爲CSV文件。我創建了一個VBA,將所有這些註釋粘貼到工作表中,並將其轉換爲列並進行數學運算。從CSV文件首先打開CSV文件粘貼的VBA錯誤1004

如果我先打開我的Excel文件,然後下載評論,手動複製評論並運行腳本,它工作正常。但是,如果我首先下載註釋,然後打開我的Excel文件並運行該腳本,則會引發1004錯誤,但類Worksheet的方法粘貼失敗。

我已經在這裏嘗試了很多答案,但沒有一個似乎有效。這是劇本的開頭部分貼評論:

Application.ScreenUpdating = False 
Dim wb As Workbook 
Set wb = ThisWorkbook 

wb.Activate 

Sheets("Hulpblad").Visible = -1 
Sheets("Hulpblad").Paste Destination:=Sheets("Hulpblad").Range("A1") 

Application.CutCopyMode = False 

我也試着錄製宏和使用Excel生成的代碼,但所有的答案給出了同樣的錯誤。

接下來,由腳本的一些用戶打開文件的順序無關緊要,它總是拋出1004錯誤。有人可以請幫忙:-)

回答

0

1004是一個錯誤,當您嘗試更改受保護的工作表時,會生成此錯誤。

在您的代碼中,您正試圖粘貼一個值,這是無法完成的,因爲該表受到保護。

嘗試在粘貼該值之前先取消它的保護,然後再保護它。

+0

此特定工作表未受到保護,它是隱藏的,但在粘貼值之前,我取消隱藏此工作表,在腳本末尾,我再次隱藏它。奇怪的是,如果我先打開我的Excel文件,然後再打開CSV文件,那麼它工作正常,但反過來,它不會。 – Wilco

+0

然後你可能會想念「Sheets(」Hulpblad「)。激活?」儘管通常不需要激活工作表,但您的情況似乎不同。 – Vityata

+0

我剛剛嘗試過這一點,但不幸的是,這不斷給出相同的錯誤:( – Wilco

0

我認爲你的聲明中沒有複製方法。您正嘗試直接粘貼內容

+0

我正在手動複製csv文件中的值。 – Wilco