LoveRenee
2005-04-26, 02:42 PM
如附檔DATA頁中所示, 在B1的下拉式清單中有"GAME1"與"GAME2",
如果希望能做到選擇GAME1之後,按下"確認"按鈕,則會將GAME1工作表的內容
複製到BUFFER頁中,而如果選擇GAME2按下"確認",則會複製GAME2工作表之
內容到BUFFER頁中; 想要做到以上的動作,那麼要在"確認"按鈕中下什麼指令,或者VBA該如何表示呢?
希望以上的問題各位能了解,並希望能給予解答~ 一起動動腦吧! 感激不盡~ :)
贊助商連結
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