Excel VBA質問箱 IV

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

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


5165 / 76732 ←次へ | 前へ→

【77180】マクロの修正とご指摘をお願いします。
質問  タンポポポケット  - 15/6/3(水) 18:02 -

引用なし
パスワード
   マクロ初心者ですが、仕事でどうしても必要になったのでマクロを作成しています。よろしければ、マクロの修正、ご指摘いただきたいです。


「ボタンを押すと、ボタン名とシート名が一致するシートがアクティブになる」というマクロを実行したいです。

下記のマクロを実行すると、
1.シートの1枚目に、ボタンが作成(シートの枚数分)され、各シートの名前が表示される。
2.また、そのボタンをクリックすると、名前が同じシートをアクティブにする。
となる予定でした。

実行してみると、
シート名に「大文字の英語」が使われているボタンをクリックするとエラーになった。
※他の漢字やカタカナなどのシート名のボタンをクリックすると、きちんとアクティブになる。
となりました。

原因として考えられる事を教えていただき、下記のマクロを修正していただきたいです。


≪マクロの説明≫
指定のシートを選択する「シート選択」と言うマクロを用意し、
ボタン設置の時にそのマクロに引数でシート名を渡す様に設定しています。
Worksheets(n).Nameでシート名が取得されています。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
Sub ボタン設置()
  With Worksheets(1)
    For i = 1 To (Worksheets.Count - 1)
      nX = 145 * (1 + ((i - 1) Mod 8))
      nY = 30 * (1 + Int(i / 8))
      sName = Worksheets(i + 1).Name
      With .Buttons.Add(nX, nY, 140, 20)
        .Text = sName
        .OnAction = "'シート選択""" & sName & """'"
      End With
    Next i
  End With
End Sub
Sub シート選択(sShtName As String)
  Worksheets(sShtName).Select
End Sub

279 hits

【77180】マクロの修正とご指摘をお願いします。 タンポポポケット 15/6/3(水) 18:02 質問[未読]
【77181】Re:マクロの修正とご指摘をお願いします。 マルチネス 15/6/3(水) 22:29 発言[未読]
【77182】Re:マクロの修正とご指摘をお願いします。 Jaka 15/6/4(木) 17:20 発言[未読]
【77183】Re:マクロの修正とご指摘をお願いします。 マルチネス 15/6/7(日) 10:07 発言[未読]

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