Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3956 / 13644 ツリー ←次へ | 前へ→

【59272】コマンドボタンのマクロ登録を変更したい jackey 08/12/4(木) 10:22 質問[未読]
【59274】Re:コマンドボタンのマクロ登録を変更したい Jaka 08/12/4(木) 11:43 発言[未読]
【59278】Re:コマンドボタンのマクロ登録を変更したい jackey 08/12/4(木) 15:24 質問[未読]
【59279】Re:コマンドボタンのマクロ登録を変更したい Jaka 08/12/4(木) 15:54 発言[未読]

【59272】コマンドボタンのマクロ登録を変更したい
質問  jackey  - 08/12/4(木) 10:22 -

引用なし
パスワード
   教えてください。
ワークブックに30数枚のシートを持たせています。
このブックを複数の利用者が操作するため、パスワードにより
利用できる内容を制限させていますが、共通で利用するシートに
利用者ごとのメインメニューシートへ戻るためのコマンドボタンを
貼り付けてあります。
そのコマンドボタンにマクロを登録してありますが、
コマンドボタンへのマクロ登録を利用者毎に変更したいのですが、
共通シートが34あり、VBAの記述をシート分延々と記述しています。
過去ログを見ながら下記の様にマクロを組んでみたのですが、
エラーが出てしまいします。どのように記述したらよいのか教えてください。

変更するシートは34枚、コマンドボタンは、ボタン2で共通です。

ub Z11_0724選択時シートのボタンマクロの変更()
  シート01 = "E01"
  シート02 = "E02"
  シート03 = "E03"
  シート04 = "E04"
  シート05 = "E05"
  シート06 = "E06"
  シート07 = "E07"
  シート08 = "E08"
  シート09 = "E09"
  シート10 = "E10"
  シート11 = "E11"
  シート12 = "E12"
  シート13 = "E13"
  シート14 = "E14"
  シート15 = "E15"
  シート16 = "E16"
  シート17 = "E17"
  シート18 = "E18"
  シート19 = "E19"
  シート20 = "E20"
  シート21 = "E21"
  シート22 = "E22"
  シート23 = "E23"
  シート24 = "E24"
  シート25 = "E25"
  シート26 = "E26"
  シート27 = "E27"
  シート28 = "E28"
  シート29 = "E29"
  シート30 = "E30"
  シート31 = "E31"
  シート32 = "E32"
  シート33 = "E33"
  シート34 = "E34"
  
  Worksheets(Array(シート01, シート02, シート03, シート04, シート05, シート06, シート07, シート08, シート09, シート10, シート11, シート12, シート13, シート14, シート15, シート16, シート17, シート18, シート19, シート20, シート21, シート22, シート23, シート24, シート25, シート26, シート27, シート28, シート29, シート30, シート31, シート32, シート33, シート34)).Select
  ActiveSheet.Unprotect
    ActiveSheet.Shapes("Button 2").Select      'メニューへボタン
    Selection.OnAction = "A00メニューへ"
    Range("F2:G2").Select
    Selection.Locked = True
    Selection.FormulaHidden = False
  ActiveSheet.Protect
  
End Sub

【59274】Re:コマンドボタンのマクロ登録を変更し...
発言  Jaka  - 08/12/4(木) 11:43 -

引用なし
パスワード
   ▼jackey さん:

>ub Z11_0724選択時シートのボタンマクロの変更()
>  シート01 = "E01"
>  シート02 = "E02"
>  シート03 = "E03"
>  シート04 = "E04"
>  シート05 = "E05"
>  シート06 = "E06"
>  シート07 = "E07"
>  シート08 = "E08"
>  シート09 = "E09"
>  シート10 = "E10"
>  シート11 = "E11"
>  シート12 = "E12"
>  シート13 = "E13"
>  シート14 = "E14"
>  シート15 = "E15"
>  シート16 = "E16"
>  シート17 = "E17"
>  シート18 = "E18"
>  シート19 = "E19"
>  シート20 = "E20"
>  シート21 = "E21"
>  シート22 = "E22"
>  シート23 = "E23"
>  シート24 = "E24"
>  シート25 = "E25"
>  シート26 = "E26"
>  シート27 = "E27"
>  シート28 = "E28"
>  シート29 = "E29"
>  シート30 = "E30"
>  シート31 = "E31"
>  シート32 = "E32"
>  シート33 = "E33"
>  シート34 = "E34"
>  
>  Worksheets(Array(シート01, シート02, シート03, シート04, シート05, シート06, シート07, シート08, シート09, シート10, シート11, シート12, シート13, シート14, シート15, シート16, シート17, シート18, シート19, シート20, シート21, シート22, シート23, シート24, シート25, シート26, シート27, シート28, シート29, シート30, シート31, シート32, シート33, シート34)).Select

この上コードが何をしているのかわかりませんが、

マクロ登録するコードは大体こんな感じ。

Sub wrc()
Dim Ws As Worksheet
For Each Ws In Worksheets
  i = i + 1
  Ws.Shapes("ボタン 1").OnAction = "マクロ" & i
Next
End Sub

Sub マクロ1()
  MsgBox 11
End Sub

Sub マクロ2()
  MsgBox 22
End Sub

Sub マクロ3()
  MsgBox 33
End Sub

【59278】Re:コマンドボタンのマクロ登録を変更し...
質問  jackey  - 08/12/4(木) 15:24 -

引用なし
パスワード
   ▼Jaka さん:ありがとうございました。
早速 以下のように記述して実行しましたが、エラーが出ます。

Sub Z11_0724選択時シートのボタンマクロの変更()
  Dim Ws As Worksheet
    For Each Ws In Worksheets
    i = i + 12
    Ws.Shapes("Button 2").OnAction = "A00メニューへ" & i '指定したアイテムが見つかりません。というエラーメッセージです。
    Next
  
End Sub
'マクロは以下の通りです。 
Sub A00_メインへ()

  Application.ScreenUpdating = False
  Sheets("メイン").Select
  ActiveWindow.ScrollRow = 1
  ActiveWindow.ScrollColumn = 1
  Range("B2").Select
End Sub

シートは全部で48シートあり、変更させたいボタンの在るシートは、並び替え後ですが、
左から13番目〜46番目までのシートです。
   ("E01") ("E34") のシート名

エラーを解消させるにはどこを変更したらよいでしょうか。
よろしくお願いいたします。

>▼jackey さん:
>

>
>マクロ登録するコードは大体こんな感じ。
>
>Sub wrc()
>Dim Ws As Worksheet
>For Each Ws In Worksheets
>  i = i + 1
>  Ws.Shapes("ボタン 1").OnAction = "マクロ" & i
>Next
>End Sub
>
>Sub マクロ1()
>  MsgBox 11
>End Sub
>
>Sub マクロ2()
>  MsgBox 22
>End Sub
>
>Sub マクロ3()
>  MsgBox 33
>End Sub

【59279】Re:コマンドボタンのマクロ登録を変更し...
発言  Jaka  - 08/12/4(木) 15:54 -

引用なし
パスワード
   ▼jackey さん:
>早速 以下のように記述して実行しましたが、エラーが出ます。
>
> Sub Z11_0724選択時シートのボタンマクロの変更()
>  Dim Ws As Worksheet
>    For Each Ws In Worksheets
>    i = i + 12
>    Ws.Shapes("Button 2").OnAction = "A00メニューへ" & i '指定したアイテムが見つかりません。というエラーメッセージです。
>    Next
「Button 2」って名前の、オブジェクト(つまりボタン)があるかないかを、全てのシートで確認してください。
コピペとかしていると番号が違っている可能性があります。
ボタンに書いてある名前じゃないので注意。

3956 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free