我认为这是一个简单的问题,但在我苦苦挣扎之前,我还没有以这种方式使用过 excel。我正在尝试创建一个基于 Excel VBA 的程序。我在呼叫中心工作。我们有许多 Excel 表来记录不同方案的调用。我有一个项目来简化这个过程。到目前为止,我已经创建了一个工作簿,其中有单独的工作表来表示每个方案。我创建了一个用户表单来收集信息。其中一个组合框指示调用所涉及的方案。来自用户窗体的输入需要登录到工作簿中与组合框中选择的方案名称相对应的工作表。我似乎无法接近工作。任何建议或意见,将不胜感激!
我的代码是:
Private Sub cmdClear_Click()
Call UserForm_Initialize
End Sub
Private Sub cmdClose_Click()
Unload Me
End Sub
Private Sub ComboBox1_Change()
Dim ShtName As String
ShtName = ComboBox1.List(ComboBox1.ListIndex)
End Sub
Private Sub CommandButton1_Click()
Call Add_Data
End Sub
Private Sub Add_Data()
Dim Worksheets As Range
Dim ws As Worksheet
Dim UserForm As Object
Dim iRow As Long
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
Set ws = this.ComboBox1.GetItemText(this.ComboBox1.SelectedItem)
'find first empty row in database
iRow = ShtName.Cells(Rows.Count, 1).End(x1up).Offset(1, 0).Row
'copy the data to the database
ws.Cells(iRow, 1) = Date
ws.Cells(iRow, 2) = Me.txtName.Value
ws.Cells(iRow, 3) = Me.txtNumber.Value
ws.Cells(iRow, 4) = ComboBox2.Value
ws.Cells(iRow, 5).Value = Me.txtQuery.Value
If optYes = True Then
msgstr = "Yes"
ElseIf optNo = True Then
msgstr = "No"
End If
ws.Cells(iRow, 6).Value = msgstr
If chkMain = True Then
msgstri = "Main"
ElseIf chkExec = True Then
msgstr = "Exec"
Else
msgstri = ""
End If
ws.Cells(iRow, 7).Value = msgstri
ws.Cells(iRow, 8).Value = Me.txtTime.Value
End Sub
Private Sub UserForm_Initialize()
ComboBox1.Clear
ComboBox1.AddItem ("Sheet2")
ComboBox1.AddItem ("Sheet3")
ComboBox1.AddItem ("Sheet4")
ComboBox1.AddItem ("Sheet5")
ComboBox1.AddItem ("Sheet6")
ComboBox1.AddItem ("Sheet7")
ComboBox1.AddItem ("Sheet8")
ComboBox1.AddItem ("Sheet9")
ComboBox1.AddItem ("Sheet10")
ComboBox1.AddItem ("Sheet11")
ComboBox1.AddItem ("Sheet12")
ComboBox2.Clear
ComboBox2.AddItem ("agent1")
ComboBox2.AddItem ("agent2")
ComboBox2.AddItem ("agent3")
ComboBox2.AddItem ("agent4")
ComboBox2.AddItem ("agent5")
ComboBox2.AddItem ("agent6")
ComboBox2.AddItem ("agent7")
ComboBox2.AddItem ("agent8")
ComboBox2.AddItem ("agent9")
ComboBox2.AddItem ("agent10")
txtNumber.Value = ""
txtName.Value = ""
txtQuery.Value = ""
txtTime.Value = ""
optYes = False
optNo = False
chkMain = False
chkExec = False
ComboBox1.SetFocus
End Sub