如何(在'继续'按钮单击)使它从comboBox @ userForm输入当前字符串到excel文档单元格和关闭表单?
我目前的代码无法正常运作。它不会在更改时更新组合框值,并始终返回原始值("选择子类型")值。
这是我的模块代码:
Public main As Integer, i As Integer, temp As String, x As String
Public Sub dataValidation()
Dim i As Integer
For i = 3 To 22
Select Case Cells(i, 6).Value
Case "Income"
main = 1
If Cells(i, 7).Value = "" Then
Cells(i, 7).Value = getData
End If
Case ...
End Select
Next i
End Sub
Public Function getData()
UserForm1.Show
x = UserForm1.cboSubtype.Value
getData = x
End Function
我的表单代码:
Private Sub UserForm_Initialize()
With cboSubtype
'.Value = "Select subtype"'
Select Case main
Case 1
.AddItem "Parents"
.AddItem "Grant"
Case 2
.AddItem "Food"
.AddItem "Drink"
Case 3
.AddItem "Books"
.AddItem "Fees"
End Select
End With
End Sub
答案 0 :(得分:3)
您可能希望采用这些小修改
Userform代码窗格
Private Sub Continue_Click()
Me.Hide
End Sub
Private Sub UserForm_Initialize()
With Me.cboSubtype
'.Value = "Select subtype"'
Select Case mainVal
Case 1
.AddItem "Parents"
.AddItem "Grant"
Case 2
.AddItem "Food"
.AddItem "Drink"
Case 3
.AddItem "Books"
.AddItem "Fees"
End Select
End With
End Sub
模块代码
Option Explicit
Public mainVal As Integer
Public Sub dataValidation()
Dim i As Integer
For i = 3 To 22
Select Case Cells(i, 6).value
Case "Income"
mainVal = 1
If Cells(i, 7).value = "" Then Cells(i, 7).value = getData
' Case ...
End Select
Next i
End Sub
Public Function getData()
With UserForm4
.Show
getData = .cboSubtype.value
End With
Unload UserForm4
End Function