2016-07-15 17 views
-1

あるワークブックのワークシートを別のワークブックのワークシートに複製するマクロを作成しようとしています。どのワークシートを複製するか手動で選択できるようにVBAコードを使用できる方法はありますか?Excelでワークシートを選択するダイアログボックス

現時点では、実際のVBAコードに完全なワークシート名が入力されている限り、マクロは機能します。理想的には、ダイアログボックスを使用してワークシートを選択できるマクロが必要です。シートやその内容をコピーして貼り付けることはできますが、私が働いている人はそのサイズのためにしたくありません。

+0

。 – Fairy

+2

この問題に取り組むためにこれまでに何を試みましたか?それはコーディングの問題を解決するのに役立ちます。あなたは確かにこの部分での全体的な操作を壊すことができ、いくつかのサブ部分については、ここに置かれたさまざまな質問から簡単にコードを得ることができます。 – 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 
関連する問題