Я хочу использовать 1 Combobox для навигации по многим листам, которые относятся к элементам, которые содержат Combobox - PullRequest
1 голос
/ 10 апреля 2019

Я получил 1 ComboBox1 содержит 5 предметов. Есть 1,2,3,4 и 5, и все они представляют для Sheet1, Sheet2, Sheet3, Sheet4 и Sheet 5 соответственно. Если я выберу пункт 1 в ComboBox, то я нажму на CommandButton1, и он покажет Sheet1. То же самое, если я выберу пункты 2, 3, 4 или 5, будут отображаться соответственно Sheet2, Sheet3, Sheet4 и Sheet 5.

Проблема в том, что я хочу использовать только 1 CommandButton для навигации по этим листам

Private Sub CommandButton1_Click()
    Dim a As Integer
    a = 3
If Not IsNumeric(TextBox2.Value) Then
    MsgBox "Only numbers allowed", vbCritical
    TextBox2.Text = ""
    TextBox2.SetFocus

ElseIf Me.ComboBox1.Value = "" Then
    MsgBox "Please Select the Stencil ID", vbCritical
    ComboBox1.Text = ""
    ComboBox1.SetFocus

ElseIf ComboBox1.Enabled = True Then
    a = WorksheetFunction.CountA(Sheet10.Range("a3:a1000000"))
    a = a + 3
    Sheet10.Cells(a, 1) = TextBox2.Text
    Sheet10.Cells(a, 2) = ComboBox1.Text
    Sheet10.Cells(a, 3) = DTPicker1.Value
    Sheet10.Cells(a, 4) = TextBox1.Text

ElseIf ComboBox1.Text = "1" Then
    ThisWorkbook.Sheets("Sheet1").Visible = True
    ThisWorkbook.Sheets("Sheet1").Select
    ThisWorkbook.Sheets("Sheet1").Range("a1").Select

ElseIf ComboBox1.Text = "2" Then
    ThisWorkbook.Sheets("Sheet2").Visible = True
    ThisWorkbook.Sheets("Sheet2").Select
    ThisWorkbook.Sheets("Sheet2").Range("a1").Select

ElseIf ComboBox1.Text = "3" Then
    ThisWorkbook.Sheets("Sheet3").Visible = True
    ThisWorkbook.Sheets("Sheet3").Select
    ThisWorkbook.Sheets("Sheet3").Range("a1").Select

End If

End Sub

1 Ответ

0 голосов
/ 10 апреля 2019

Попробуйте расположить код следующим образом:

If Not IsNumeric(TextBox2.Value) Then
    MsgBox "Only numbers allowed", vbCritical
    TextBox2.Text = ""
    TextBox2.SetFocus

ElseIf Me.ComboBox1.Value = "" Then
    MsgBox "Please Select the Stencil ID", vbCritical
    ComboBox1.Text = ""
    ComboBox1.SetFocus
end if

If ComboBox1.Enabled = True Then
    a = WorksheetFunction.CountA(Sheet10.Range("a3:a1000000"))
    a = a + 3
    Sheet10.Cells(a, 1) = TextBox2.Text
    Sheet10.Cells(a, 2) = ComboBox1.Text
    Sheet10.Cells(a, 3) = DTPicker1.Value
    Sheet10.Cells(a, 4) = TextBox1.Text
end if

If ComboBox1.Text = "1" Then
    ThisWorkbook.Sheets("Sheet1").Visible = True
    ThisWorkbook.Sheets("Sheet1").Select
    ThisWorkbook.Sheets("Sheet1").Range("a1").Select

ElseIf ComboBox1.Text = "2" Then
    ThisWorkbook.Sheets("Sheet2").Visible = True
    ThisWorkbook.Sheets("Sheet2").Select
    ThisWorkbook.Sheets("Sheet2").Range("a1").Select

ElseIf ComboBox1.Text = "3" Then
    ThisWorkbook.Sheets("Sheet3").Visible = True
    ThisWorkbook.Sheets("Sheet3").Select
    ThisWorkbook.Sheets("Sheet3").Range("a1").Select

End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...