2013-08-05 71 views
0

因此,我得到此代碼將從C4到C10的單元複製並粘貼。問題是它粘貼到同一個工作表,我需要將其粘貼到第二個工作表。將粘貼複製到Excel中的新工作表中

我不知道如何更改代碼中的工作表,所以我希望有人可以幫助我。

下面是代碼:

Sub Save_Click() 
Range("C4:C10").Copy 
Dim curRange As Range 
Dim curCol As Integer: curCol = 7 
Dim completed As Boolean: completed = False 
Do 
    curCol = curCol + 1 
    Set curRange = Range(Cells(3, curCol), Cells(9, curCol))

If (WorksheetFunction.CountA(curRange) = 0) Then Exit Do End If Loop While (Not completed) curRange.PasteSpecial End Sub
+0

你幾乎只想將一張紙(C4:C10)中的數值粘貼到另一張紙上,或者還有其他更多內容嗎?中間的循環是否打算找到下一個可用的未使用列?據推測這應該是檢查你正在粘貼的工作表? – ChrisProsser

+0

我告訴過你:只需將表格名稱添加到範圍。如果原始工作表是「工作表1」,則範圍(「C4:C10」)與工作表(「工作表1」)相同。範圍(「C4:C10」)。如果目標範圍在「工作表2」中,則可以設置curRange =工作表(「工作表2」)範圍(單元格(3,curCol),單元格(9,curCol)) – varocarbas

+0

您應始終包含工作表(「工作表名稱」 )標題部分,同時處理不同的工作表。範圍(「C4:C10」)是表單的縮寫形式(「sheet1」)。範圍(「C4:C10」)並可能在處理不同的表單時產生混淆(不確定活動表單是sheet1還是sheet2) 。如果這不清楚,請隨時詢問。如果你不明白我的觀點,你應該在上一個問題中再次問我;我認爲這很清楚。 – varocarbas

回答

0

工作表 「Iskalnik」,因爲你做了,使用方法:

Sheets("Iskalnik").Range("C4:C10").Copy 

工作表 「巴扎」,而不是這樣的:

Set curRange = Sheets("Baza").Range(Cells(3, curCol), Cells(9, curCol)) 

使用本:

With Worksheets("Baza") 
    Set curRange = .Range(.Cells(3, curCol), .Cells(9, curCol)) 
End With 

CurRange的問題是RangeCells關鍵字都需要引用表單。 With ... End With只是一個方便的方法。

+0

謝謝,我試圖這麼做了很久,我放棄了。感謝上帝,我看到了你的評論,所以我可以回到我的項目。 –

相關問題