2016-07-15 59 views
-1

我試圖構建一個宏,該工具條將工作表從一個工作簿複製到另一個工作簿中的工作表中。有沒有辦法使用VBA代碼來手動選擇我要複製的工作表?在Excel中選擇工作表的對話框

現在,只要我將完整的工作表名稱輸入到實際的VBA代碼中,宏就可以工作。理想情況下,我希望宏允許我通過對話框選擇工作表。我知道你可以複製/粘貼紙張或其內容,但是由於尺寸的原因,我工作的人不想這樣做。

+0

您也可以通過索引選擇工作表。 – Fairy

+2

您到目前爲止已嘗試解決此問題。 SO有助於解決編碼問題。你當然可以在這些部分中完成整個操作,對於一些子部分,你可以很容易地從這裏提出的各種問題中獲得代碼。 – skkakkar

+0

如果你想通過對話框選擇工作表,那麼你應該先創建對話框。由於我不知道任何這樣的默認情況下使用Excel的對話框,我想說你必須在表單中使用'UserForm'和'ListBox'來創建它。 – Ralph

回答

2

您可以使用Worksheets集合以用戶形式填充ListBox。這應該讓你開始:(!)的用戶表單

enter image description here

代碼

Private Sub UserForm_Initialize() 

    Dim v As Worksheet 

    For Each v In Worksheets 
     UserForm1.lstWorksheets.AddItem v.Name 
    Next 

End Sub 

Private Sub cmdSelectWorksheet_Click() 
    MsgBox "You selected " & lstWorksheets.Value 
End Sub