命令按鈕當中,如何能將Sheet1複製到Sheet2
- 帖子
- 25
- 主題
- 11
- 精華
- 0
- 積分
- 50
- 點名
- 0
- 作業系統
- winxp
- 軟體版本
- office2003
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2012-2-16
- 最後登錄
- 2024-3-7
|
命令按鈕當中,如何能將Sheet1複製到Sheet2
命令按鈕當中,如何能將Sheet1複製到Sheet2, 以下寫法會出現錯誤, 該怎麼寫才好?
Private Sub CommandButton1_Click()
Sheets("Sheet1").Select
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Sheet1").Select
Range("A11").Select
ActiveSheet.Paste
End Sub |
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
2#
發表於 2012-2-16 16:44
| 只看該作者
本帖最後由 GBKEE 於 2012-2-16 16:46 編輯
回復 1# openpc - Private Sub CommandButton1_Click()
- Sheets("Sheet1").Select
- Range("A1").Select
- Range(Selection, Selection.End(xlToRight).End(xlDown)).Select
- Selection.Copy
- Sheets("Sheet1").Select
- ' Sheets("Sheet2").Select '<-複製到Sheet2
- Range("A11").Select
- ActiveSheet.Paste
- End Sub
複製代碼 |
|
|
|
|
|
|
- 帖子
- 25
- 主題
- 11
- 精華
- 0
- 積分
- 50
- 點名
- 0
- 作業系統
- winxp
- 軟體版本
- office2003
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2012-2-16
- 最後登錄
- 2024-3-7
|
3#
發表於 2012-2-17 15:36
| 只看該作者
Private Sub CommandButton1_Click()
Sheets("Sheet1").Select
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Sheet2").Select '==>感謝指正錯誤
Range("A11").Select
ActiveSheet.Paste
End Sub
可是, 我是在CommandButton1_Click()的情況下執行會有,
執行階段錯誤'1004'
Class Range 的Select方法失敗
請教先進,如何解. |
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
4#
發表於 2012-2-17 15:51
| 只看該作者
回復 3# openpc
請多參考 新手 VBA 入門常見問題
你修改程式 放在ThisWorkbook 或一般組 是不會有錯誤的
如程式碼在Sheet1 須改成
- Private Sub CommandButton1_Click()
- Sheets("Sheet1").Select
- Range("A1").Select
- Range(Selection, Selection.End(xlToRight).End(xlDown)).Select
- Selection.Copy
- 'Sheets("Sheet1").Select
- With Sheets("Sheet2")
- .Select '<-複製到Sheet2
- .Range("A11").Select
- End With
- ActiveSheet.Paste
- End Sub
複製代碼 |
|
|
|
|
|
|
- 帖子
- 25
- 主題
- 11
- 精華
- 0
- 積分
- 50
- 點名
- 0
- 作業系統
- winxp
- 軟體版本
- office2003
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2012-2-16
- 最後登錄
- 2024-3-7
|
5#
發表於 2012-2-17 16:24
| 只看該作者
多謝指點, 我會多多參考新手 VBA 入門常見問題.
請教先進,
如程式碼在Sheet3
3#的02.Sheets("Sheet1").Select, 要如何修改 |
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
6#
發表於 2012-2-17 16:43
| 只看該作者
回復 5# openpc
二程式效果一樣- Option Explicit
- Private Sub CommandButton1_Click()
- With Sheets("Sheet1")
- .Range("A1", .Range("A1").End(xlToRight).End(xlDown)).Copy Range("A11")
- ' Range ("A11") : 程式碼在Sheet3 就是Sheet3的Range ("A11")
- End With
- End Sub
- Private Sub Ex() '有指定工作表 放何處都可以
- ' Sheets("Sheet1").Range("A1", Sheets("Sheet1").Range("A1").End(xlToRight).End(xlDown)).Copy Sheet3.Range("A11")
- ' 上式程式碼等同 以下程式碼
- With Sheets("Sheet1")
- .Range("A1", .Range("A1").End(xlToRight).End(xlDown)).Copy Sheet3.Range("A11")
- End With
- End Sub
複製代碼 |
|
|
|
|
|
|
- 帖子
- 25
- 主題
- 11
- 精華
- 0
- 積分
- 50
- 點名
- 0
- 作業系統
- winxp
- 軟體版本
- office2003
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2012-2-16
- 最後登錄
- 2024-3-7
|
8#
發表於 2012-2-20 17:24
| 只看該作者
請教只要Range("A1"到"A10"), 使用Sheets("Sheet1").Range("A1").CurrentRegion.Copy Sheets("Sheet2").Range("A11")的模式該如何表達, 感謝再感謝! |
|
|
|
|
|
|
- 帖子
- 967
- 主題
- 0
- 精華
- 0
- 積分
- 1001
- 點名
- 0
- 作業系統
- WIN XP
- 軟體版本
- OFFICE 2003
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-11-29
- 最後登錄
- 2022-5-17
 
|
9#
發表於 2012-2-20 17:37
| 只看該作者
回復 8# openpc
Sheets("Sheet1").Range("A1:A10").Copy Sheets("Sheet2").Range("A11")
或
Sheets("Sheet1").Range("A1", "A10").Copy Sheets("Sheet2").Range("A11")
或
Sheets("Sheet1").Range("A1").Resize(10, 1).Copy Sheets("Sheet2").Range("A11")
全部貼上 |
|
|
|
|
|
|