[[20100322115402]] 『教えてください』(どかべん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『教えてください』(どかべん)

 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.