こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

excel VBA コンボボックスでシート選択後エラー

どなたかご教授願います。
ユーザーフォームにコンボボックスを配置し、ブック内のシートすべて選択できるようにしてます。選択後シートに移動するのですが、同じユーザーフォームのテキストボックス等に入力した後、コマンドボタンをクリックするとエラーとなります。しかしテキストボックス等の値は間違いなく入力されています。よろしくお願いします。

Private Sub ComboBox1_Change()

→ Sheets(Me.ComboBox1.Value).Select
      この部分が黄色になってしまいます

End Sub

Private Sub CommandButton1_Click()
Dim myRow As Long

ActiveSheet.Select
myRow = Range("B65536").End(xlUp).Offset(1, 0).Row
'各テキストボックの値をセルに入力

Cells(myRow, 2).Value = TextBox1.Value
Cells(myRow, 3).Value = TextBox1.Value
Cells(myRow, 4).Value = ComboBox2.Value
Cells(myRow, 6).Value = TextBox2.Value
Cells(myRow, 7).Value = TextBox3.Value
Cells(myRow, 8).Value = TextBox4.Value
'Cells(myRow, 9).Value = TextBox5.Value

'書式設定
Cells(myRow, 2).NumberFormatLocal = "m"
Cells(myRow, 3).NumberFormatLocal = "dd"
Cells(myRow, 6).NumberFormatLocal = "#,###"

'セルに入力が各テキストボックの値をクリア

ComboBox1.Value = ""
ComboBox2.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
TextBox4.Value = ""
'フォーカス移動
ComboBox2.SetFocus

End Sub

投稿日時 - 2009-06-30 18:13:52

QNo.5087355

困ってます

質問者が選んだベストアンサー

>ComboBox1.Value = ""
これによりチェンジイベントが発生するからでは?

Private Sub ComboBox1_Change()
If Me.ComboBox1.ListIndex <> -1 Then '追加
Sheets(Me.ComboBox1.Value).Select
End If '追加
End Sub

としてみるとか。

投稿日時 - 2009-06-30 18:31:11

お礼

n-jun様
お忙しい中ご回答いただきありがとうございました。
>ComboBox1.Value = ""
原因これだったんですね、マヌケでした。

投稿日時 - 2009-07-01 12:04:21

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問