請教一個EXCEL中以按鈕控制動作的問題



贊助商連結


LoveRenee
2005-04-26, 02:42 PM
如附檔DATA頁中所示, 在B1的下拉式清單中有"GAME1"與"GAME2",
如果希望能做到選擇GAME1之後,按下"確認"按鈕,則會將GAME1工作表的內容
複製到BUFFER頁中,而如果選擇GAME2按下"確認",則會複製GAME2工作表之
內容到BUFFER頁中; 想要做到以上的動作,那麼要在"確認"按鈕中下什麼指令,或者VBA該如何表示呢?

希望以上的問題各位能了解,並希望能給予解答~ 一起動動腦吧! 感激不盡~ :)

贊助商連結


ICLA
2005-04-26, 09:00 PM
Sub Apple()

'在下拉式清單中選擇了哪個項目
WhichGame = Sheets("DATA").Cells(1, 2)

'求取選擇之下拉式清單項目所對應的工作表索引
For i = 1 To Sheets.Count
K = InStr(Sheets(i).Name, WhichGame)
If K > 0 Then Exit For
Next i

'清除 Buffer 工作表內容
Sheets("Buffer").Select
Cells.Select
Selection.ClearContents
Cells(1, 1).Select

'複製選取之下拉式清單所對應的工作表
Sheets(i).Select
Cells.Select
Selection.Copy

'移至 Buffer 工作表並貼上
Sheets("BUFFER").Select
Range("A1").Select
ActiveSheet.Paste


End Sub


請您參考一下吧

為與工作表名稱一致,驗證清單名稱我改為 Game1 和 Game2 (無空格),因為我不會用變數指定工作表。

LoveRenee
2005-04-26, 11:10 PM
謝謝囉~ 有很詳盡的解答。看來自己也需要多多努力了!

leonchou
2005-04-26, 11:43 PM
簡化一下,ICLA 兄勿怪 :)

Sub Apple()

'在下拉式清單中選擇了哪個項目
WhichGame = Sheets("DATA").Cells(1, 2)

'清除 Buffer 工作表已使用的內容
Sheets("Buffer").UsedRange.ClearContents

'複製對應的工作表至 Buffer 工作表
Sheets(WhichGame).UsedRange.Copy Sheets("Buffer").Range("A1")

'移至 Buffer 工作表
Sheets("Buffer").Select

End Sub