2013-10-21 123 views
0

基於組合框的選擇,我如何從組合框excel 2010中選擇轉到其他工作表?例如,我有一個組合框中的所有monthes,並基於一月我想要的信息去一月。如果我選擇二月份,我希望用戶表單上的信息轉到工作表二月份,因此。我想通過用戶窗體上的提交按鈕(Command_button)實現這一點。任何幫助將大大appriciated。根據組合框的選擇,我如何從組合框excel 2010中選擇轉到其他工作表?

 Option Explicit 
Dim WrkSheet As Worksheet 

Private Sub btnSubmit_Click() 
Application.EnableEvents = False 

Dim ssheet As Workbook 
Dim cellVal1 As String, cellVal2 As String, cellVal3 As String, cellVal4 As String, cellVal5 As String, cellVal6 As String, cellVal7 As String, cellVal8 As String, cellVal9 As String, cellVal10 As String, cellVal11 As String, cellVal12 As String 
Dim cellVal13 As String, cellVal14 As String, cellVal15 As String, cellVal16 As String, cellVal17 As String, cellVal18 As String, cellVal19 As String, cellVal20 As String, cellVal21 As String, cellVal22 As String 
Dim cellVal23 As String, cellVal24 As String, cellVal25 As String, cellVal26 As String, cellVal27 As String, cellVal28 As String, cellVal29 As String, cellVal30 As String, cellVal31 As String, cellVal32 As String, cellVal33 As String, cellVal34 As String 

Dim shtCmb As String 
Dim RwLast As Long 

shtCmb = Me.cmbListItem1.Value 
If shtCmb = "" Then 
    MsgBox "Please choose a month.", vbOKOnly 
    Me.cmbListItem1.SetFocus 
End If 

cellVal1 = Me.cmbListItem1.Text 
cellVal2 = Me.cmbListItem2.Text 
cellVal3 = Me.cmbListItem3.Text 
cellVal4 = Me.TextBox31.Text 
cellVal5 = Me.TextBox1.Text 
cellVal6 = Me.TextBox2.Text 
cellVal7 = Me.TextBox3.Text 
cellVal8 = Me.TextBox4.Text 
cellVal9 = Me.TextBox5.Text 
cellVal10 = Me.TextBox6.Text 
cellVal11 = Me.TextBox7.Text 
cellVal12 = Me.TextBox8.Text 
cellVal13 = Me.TextBox9.Text 
cellVal14 = Me.TextBox10.Text 
cellVal15 = Me.TextBox11.Text 
cellVal16 = Me.TextBox12.Text 
cellVal17 = Me.TextBox13.Text 
cellVal18 = Me.TextBox14.Text 
cellVal19 = Me.TextBox15.Text 
cellVal20 = Me.TextBox16.Text 
cellVal21 = Me.TextBox17.Text 
cellVal22 = Me.TextBox18.Text 
cellVal23 = Me.TextBox19.Text 
cellVal24 = Me.TextBox20.Text 
cellVal25 = Me.TextBox21.Text 
cellVal26 = Me.TextBox22.Text 
cellVal27 = Me.TextBox23.Text 
cellVal28 = Me.TextBox24.Text 
cellVal29 = Me.TextBox25.Text 
cellVal30 = Me.TextBox26.Text 
cellVal31 = Me.TextBox27.Text 
cellVal32 = Me.TextBox28.Text 
cellVal33 = Me.TextBox29.Text 
cellVal34 = Me.TextBox30.Text 

RwLast = Worksheets(shtCmb).Range("AI" & Worksheets(shtCmb).Rows.Count).End(xlUp).Row 

Worksheets(shtCmb).Range("AI" & RwLast + 1).Value = cellVal1 
Worksheets(shtCmb).Range("AJ" & RwLast + 1).Value = cellVal2 
Worksheets(shtCmb).Range("A" & RwLast + 1).Value = cellVal3 
Worksheets(shtCmb).Range("AH" & RwLast + 1).Value = cellVal4 
Worksheets(shtCmb).Range("B" & RwLast + 1).Value = cellVal5 
Worksheets(shtCmb).Range("C" & RwLast + 1).Value = cellVal6 
Worksheets(shtCmb).Range("D" & RwLast + 1).Value = cellVal7 
Worksheets(shtCmb).Range("E" & RwLast + 1).Value = cellVal8 
Worksheets(shtCmb).Range("F" & RwLast + 1).Value = cellVal9 
Worksheets(shtCmb).Range("G" & RwLast + 1).Value = cellVal10 
Worksheets(shtCmb).Range("H" & RwLast + 1).Value = cellVal11 
Worksheets(shtCmb).Range("I" & RwLast + 1).Value = cellVal12 
Worksheets(shtCmb).Range("J" & RwLast + 1).Value = cellVal13 
Worksheets(shtCmb).Range("K" & RwLast + 1).Value = cellVal14 
Worksheets(shtCmb).Range("L" & RwLast + 1).Value = cellVal15 
Worksheets(shtCmb).Range("M" & RwLast + 1).Value = cellVal16 
Worksheets(shtCmb).Range("N" & RwLast + 1).Value = cellVal17 
Worksheets(shtCmb).Range("O" & RwLast + 1).Value = cellVal18 
Worksheets(shtCmb).Range("P" & RwLast + 1).Value = cellVal19 
Worksheets(shtCmb).Range("Q" & RwLast + 1).Value = cellVal20 
Worksheets(shtCmb).Range("R" & RwLast + 1).Value = cellVal21 
Worksheets(shtCmb).Range("S" & RwLast + 1).Value = cellVal22 
Worksheets(shtCmb).Range("T" & RwLast + 1).Value = cellVal23 
Worksheets(shtCmb).Range("U" & RwLast + 1).Value = cellVal24 
Worksheets(shtCmb).Range("V" & RwLast + 1).Value = cellVal25 
Worksheets(shtCmb).Range("W" & RwLast + 1).Value = cellVal26 
Worksheets(shtCmb).Range("X" & RwLast + 1).Value = cellVal27 
Worksheets(shtCmb).Range("Y" & RwLast + 1).Value = cellVal28 
Worksheets(shtCmb).Range("Z" & RwLast + 1).Value = cellVal29 
Worksheets(shtCmb).Range("AA" & RwLast + 1).Value = cellVal30 
Worksheets(shtCmb).Range("AB" & RwLast + 1).Value = cellVal31 
Worksheets(shtCmb).Range("AC" & RwLast + 1).Value = cellVal32 
Worksheets(shtCmb).Range("AD" & RwLast + 1).Value = cellVal33 
Worksheets(shtCmb).Range("AF" & RwLast + 1).Value = cellVal34 

Application.EnableEvents = True 

End Sub 

Private Sub cmbListItem1_Change() 

End Sub 

Private Sub optionCancel_Click() 
Unload Me 
End Sub 

Private Sub UserForm_Initialize() 

    Dim SH As Worksheet 
    Dim Entry As Variant 

    ' MonthName(Month(Now)) - Will return the name of the current Month 
    For Each SH In ThisWorkbook.Worksheets 
     If SH.Name = MonthName(month(Now)) Then 
      Set WrkSheet = SH 
      Exit For 
     End If 
    Next 

    'fill the combo box 
    With Me.cmbListItem1 
     For Each Entry In [List1] 
      .AddItem Entry 
     Next Entry 
     .Value = MonthName(month(Now)) 
    End With 
    'fill the combo box 
    With Me.cmbListItem2 
     For Each Entry In [List2] 
      .AddItem Entry 
     Next Entry 
    End With 
    'fill the combo box 
    With Me.cmbListItem3 
     For Each Entry In [List3] 
      .AddItem Entry 
     Next Entry 
    End With 

End Sub 
+0

你到目前爲止嘗試過什麼?發佈你的代碼,以便我們可以用它來幫助你。如果你沒有任何代碼,那麼給它一個鏡頭(最好的選擇是使用宏記錄器)併發回。 – Sorceri

回答

0

我已經做了3張:一月,二月,三月

創建了一個用戶表:

enter image description here

用戶窗體的Activate事件,添加個月至組合框。它的代碼是:

Private Sub UserForm_Activate()  
With Me.ComboBox1  
.AddItem "Jan"  
.AddItem "Feb"  
.AddItem "Mar"  
.AddItem "Apr"  
.AddItem "May"  
End With  
End Sub  

事件的提交按鈕點擊:

Private Sub CommandButton1_Click()  
Dim month As String  
month = Me.ComboBox1.Value  
Select Case month  
Case "Jan"  
Sheets("Jan").Activate  
Case "Feb"  
Sheets("Feb").Activate  
Case "Mar"   
Sheets("Mar").Activate  
End Select  
End Sub 

現在運行的形式和嘗試。謝謝。

+0

我把所有正確的代碼放在最上面。它很棒!謝謝你的幫助! –

+0

非常歡迎您! – rohitgattani

相關問題