- ベストアンサー
シート選択
excelマクロで、シート選択の場合 Worksheets("シート名").select でできますよね? でもこの「シート名」に名前をいれずに、1枚目のシート、2枚目のシート、というように選択したいのです。 絶対指定ではなく相対指定というところでしょうか。 どのようにすればいいのか教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- happypoint
- ベストアンサー率36% (521/1422)
関連するQ&A
- EXCEL マクロ リストボックスよりシート名を選択してシートを選択
こんばんは. エクセルを使って備品の管理システムを構築したいと考えております. マクロを使います. VBAは初心者です. ・備品を20種類ほどに分類し,シートも同様に20作りました. ・ウィンドウを2つに分割し,上下に並べています. ・上ウィンドウの最初のシート(シート名:備品一覧)のB2セルにリストボックスを設け,そのリストで20種の備品の中から一つを選択できるようにしています. ・リストボックスの側にマクロ対応のボタンを設置しております やりたいこととしては・・・ 『上ウィンドウのリストボックスで備品を選択し,ボタンをクリックすることによって,下ウィンドウでその選択した備品名のシートに移動する』 です. 私が組んでみたマクロは下記です. ---------------- Sub 備品を選択 Dim sheetname As String 'リストボックスからシート名を取得する sheetname = Range("B2").Value '下ウィンドウをアクティブにしてシートを選択する Windows(2).Activate Worksheets("sheetname").Select End Sub ------------------ エラーは,『Worksheets("sheetname").Select』のところで 【実行値エラー'9' インデックスが有効範囲にありません.】 参考書やグーグルで調べてもわかりませんでした. ご教授いただければ幸いです. よろしくお願い致します.
- ベストアンサー
- オフィス系ソフト
- マクロでエクセルシートのコピー
マクロでシート1を最後尾に名前をつけてコピーしたいと思ってます。 つけたい名前は、シート2のあるセルにかいてあります。 私は下記のように書いたのですが、エラーになってしまいます。 Worksheets("Sheet2").Select newsheet = Cells(1, 1) Sheets("Sheet1").Select Sheets("Sheet1").Copy After:=Sheets(newsheet) どのようにすればシートをシート名をつけてコピーできますか? 教えてください。 エクセル97です。
- ベストアンサー
- オフィス系ソフト
- VBAで複数シート選択
エクセルVBAで複数のシートを選択する場合、 Sheets(Array("AAA", "BBB", "CCC")).Select と書くと思いますが、マクロを回してみないことにはシート名や枚数が特定できない場合、どのように記述したらいいのでしょうか? たとえば、新たに追加されたSheets(n)~Sheets(n+x)を選択するような場合です。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルのVBAでシート名が重なるときの処理
お世話になります。 エクセルのVBAにてリストボックスで選択した単語をシート名に 反映させるマクロを作成しました。 が、一度シート名を作ると2回目に同じ単語を選択すると、 デバック?画面になってしまいます。 『同じ名前のシート名は作れません・・・』 希望としては、同じ名前が出たら自動に連番が割り振られる ようなものを希望しています。 マクロの記録で確認しても、やはり同じデバック要画面がでます。 別シートにシート名を反映させて、同じ名前がヒットしたら 文字列を追加して、そのシートに反映し続ける・・・ ようなことは考えられますが、どうも不細工で気が向きません。 もっとスマートな考えがあれば教えていただきたく よろしくお願いします。 参考に作ったVBAを下記します。 これだと、途中でシートを削除してしまうと デバック画面が発生してしまいます。 (マクロの切り抜きなので、 リストで選択したものが反映されるマクロではありません) Dim シート名 As String Dim n As Integer Sheets("伝票マスター").Select Worksheets("伝票マスター").Copy before:=Worksheets("伝票マスター") n = Sheets.Count Sheets("伝票マスター (2)").Select ActiveSheet.Name = "伝票" & n - 1 Range("D2") = n - 1 Range("D1").Select 、
- ベストアンサー
- オフィス系ソフト
- 初歩的な質問です!sheetの選択
よろしくお願いします! エクセル2003,Sheet1を右クリック>コードを表示を選択して、下のように記述したところ、予想と違う動作をしました。 sheet1,2のそれぞれのA1セルに各々のsheet名を入力したかったのですが、失敗した原因はどうしてでしょうか。activateをselectにしても変わりませんでした。 初歩的なことだと思いますが、どうぞよろしくお願いします! Sub macro() Worksheets("sheet1").Activate Cells(1, 1) = "sheet1です。" Worksheets("sheet2").Activate Cells(1, 1) = "sheet2です。" End Sub
- 締切済み
- その他MS Office製品
- シートの選択について
エクセルのVBAにて、シートの選択について質問です。 直前まで【テスト1】と言うシートで作業をしていて、その後 Worksheets("テスト2").Activate Worksheets("テスト2").Select Range("A1").Value = 123 テスト2のA1に123と言う文字を表示させるとします。 プログラムを走らせてみたのですが、123と言う数字はテスト1のシートに記述されてしまいました。 ホントに初歩的な質問で申し訳ありませんが、テスト2に表示される方法を教えて頂けたらと思います。 それでは、よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- excelのマクロでrangeの選択がうまくいきません。
excelのマクロでrangeの選択がうまくいきません。 以下のマクロをsheet2に書きました。testcopyは動きますが、testcopy2は動きません。なぜなのでしょうか。どうすればいいのでしょうか。それ以外のマクロの部分との関係から、cellsを使い、数字を使ってrangeの処理をしたいのです。よろしくお願いします。 Sub testcopy() Worksheets("sheet1").Range("B3:C10").Copy Worksheets("sheet2").Range("e5").Select ActiveSheet.Paste End Sub Sub testcopy2() Worksheets("sheet1").Range(Cells(3, 2), Cells(10, 3)).Copy Worksheets("sheet2").Range("e5").Select ActiveSheet.Paste End Sub
- ベストアンサー
- その他MS Office製品
- フォームでユーザが入力したシート名を選択したい
初歩的な質問ですいません。教えてください! 「sheetnameinput」フォーム Private Sub NextButton2_Click() sheetname = sheetname.Text このようにフォームを作成し、ユーザにシート名を入力させて、マクロの中でそのシート名を指定(選択)したいと思っています。 続きとして Dim sn As Variant Set sn = sheetnameinput.sheetname Sheets("sn").Select と作成してみたのですが 「インデックスが有効範囲にありません(エラー9)」 のメッセージが出てしまいます。 確かにその名前のシートはエクセル内に存在しているのですが、なぜエラーとなるのでしょう?そもそも指定の仕方が間違っているのでしょうか? みなさん、教えてください。
- ベストアンサー
- Visual Basic
- 印刷しようとしたらオフライン状態になっていてオンラインにならず印刷できない
- Windows7で有線LAN接続のMFC-J6980CDWプリンターがオフライン状態になり、印刷できない問題が発生しています。
- ひかり回線を使用している環境で、ブラザー製品のMFC-J6980CDWプリンターがオフライン状態になっており、印刷できません。
お礼
回答ありがとうございます。 無事できました。 間に数値を入れればよかったんですね。 詳しい説明もありがとうございました。