[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『教えてください』(どかべん)
Excel2003/WindowsXP
シートの移動について教えてください。book1のSheet1を次のようなコード
Sheets("Sheet1").Copy Before:=Workbooks("Book2.xls").Sheets(1)
で移動を実行すると正常に作動します。
開いている、複数のブックの内からブックを選択してBook1Sheet1を コピーしたいので、ユーザーフォームを作成しそれにテキストボックスを 置きこれでブックとシートを指定しコマンドボタンで実行するため、 次のようなコードを書き実行するとエラーが出ます。 どこが間違っているのでしょうか?
Private Sub CommandButton1_Click() Worksheets("Sheet1").Move Before:=Workbooks("TextBox1.text").Sheets("TextBox2.text") End Sub (どかべん)
()の中が不適当です。 Sheets("TextBox2.text") この書き方だと、「"TextBox2.text"」という名前のシートに対して コマンドを実行しようとします。 つまり、""で囲むと、そのまんまの文字列が表現されている、と 認識されます。次の二つを実行して比べてみてください。 MsgBox "TextBox2.text" MsgBox TextBox2.text (みやほりん) あと、タイトルも『シートの移動について』などと書くようにしましょう。 ここに新規投稿される方は、ほぼ100%「教えてください」ですし、 投稿時の但し書きにも、「質問内容の要約を書くように」とあります。
早速テストを行いました。MsgBox "TextBox2.text"はダイアログボックスに、TextBox2.textと 表示され、MsgBox TextBox2.textはエラーが出ました。""で囲むと文字列と認識するのですね。 私のマクロの、""の囲いを取って実行したところ、正常に作動いたしました。
みやほりんさん有難うございました。また、今後はこのコーナーに対する、注意事項も守って、 質問させていただきます。(どかべん)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.