Excel VBA質問箱 IV

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

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


10574 / 13646 ツリー ←次へ | 前へ→

【21046】ワークシートをコンボボックスに 神父 05/1/8(土) 17:33 質問[未読]
【21047】Re:ワークシートをコンボボックスに かみちゃん 05/1/8(土) 17:43 回答[未読]
【21048】返信ありがとうございます 神父 05/1/8(土) 17:52 質問[未読]
【21049】Re:返信ありがとうございます かみちゃん 05/1/8(土) 18:04 回答[未読]
【21050】エラー438 神父 05/1/8(土) 18:13 発言[未読]
【21051】Re:エラー438 かみちゃん 05/1/8(土) 18:31 回答[未読]
【21052】Re:エラー438 神父 05/1/8(土) 18:38 お礼[未読]

【21046】ワークシートをコンボボックスに
質問  神父  - 05/1/8(土) 17:33 -

引用なし
パスワード
   現在あるワークシート名をコンボボックスに表示して、
選択したシートをアクティブにしたいんですが、どうすればいいのでしょうか?

【21047】Re:ワークシートをコンボボックスに
回答  かみちゃん  - 05/1/8(土) 17:43 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>現在あるワークシート名をコンボボックスに表示して、
>選択したシートをアクティブにしたい

以下のような感じでできます。
すべてのシートを処理する部分は、いろいろと使えると思います。

Option Explicit

Private Sub UserForm_Initialize()
 Dim WS As Worksheet
 'すべてのシートをループします
 For Each WS In Worksheets
  'シート名をコンボボックスに追加します
  Me.ComboBox1.AddItem WS.Name
 Next WS
End Sub

Private Sub ComboBox1_Change()
 Sheets(ComboBox1.Value).Activate
End Sub

【21048】返信ありがとうございます
質問  神父  - 05/1/8(土) 17:52 -

引用なし
パスワード
   >Private Sub ComboBox1_Change()
> Sheets(ComboBox1.Value).Activate
>End Sub

このぶんですが、
Private Sub CommandBtton1_Click()
 Sheets(ComboBox1.Value).Activate
End Sub

このような感じでは使えないのですか?
エラーが出てしまうのですが...

【21049】Re:返信ありがとうございます
回答  かみちゃん  - 05/1/8(土) 18:04 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>エラーが出てしまうのですが...

どういうエラーが出るのでしょうか?
想像する限りの回避処置を示します。

Private Sub CommandButton1_Click()
 If Me.ComboBox1.ListIndex > -1 Then
  Sheets(Me.ComboBox1.Value).Activate
 Else
  MsgBox "シートが選択されていません"
 End If
End Sub

【21050】エラー438
発言  神父  - 05/1/8(土) 18:13 -

引用なし
パスワード
   >どういうエラーが出るのでしょうか?

「そのメソッドはサポートしていません」と出ます

【21051】Re:エラー438
回答  かみちゃん  - 05/1/8(土) 18:31 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>>どういうエラーが出るのでしょうか?
>
>「そのメソッドはサポートしていません」と出ます

エラーメッセージは、「オブジェクトは、このプロパティまたはメソッドをサポー
トしていません。」ですよね?
エラーが出るならば、どこの部分でどういうエラーメッセージ、できればエラーコ
ード(今回は、タイトルにコードが書かれていたのでわかりましたが)を説明する
ようにしましょう。
また、エラーが出る場合は、WindwosやExcelのバシージョンなどもしっかり書くよ
うにしましょう。

さて、私の場合は、WindowsXP HomeEdition SP1、Excel2002 SP3ですが、
きちんと動いています。
  Sheets(Me.ComboBox1.Value).Activate

  Sheets(Me.ComboBox1.Value).Activat
のようにつづりを間違えると、おっしゃるとおりのエラーが出ます。

たとえば、
  Sheets(Me.ComboBox1.Value).Select
のようにしてみてもいいのですが・・・・

【21052】Re:エラー438
お礼  神父  - 05/1/8(土) 18:38 -

引用なし
パスワード
   単純なスペルミスでした。お手数かけました

上手く出来ました! ありがとうございました

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