我正在努力使用Excel VBA用户表单。
快速解释,我有5个userform.listbox,可以手动填写或从标签生成的模板中复制
当我使用宏来复制模板时,列表框按预期被选中,但背景中的值仍然是""对于5个盒子中的2个......而且并不总是相同的。我需要手动点击突出显示的项目来生成值。
DD_是我的列表框,
EX_是我的标签
Dim ValueNewShrink As String
Dim ValueGroup As String
Dim ValueType As String
Dim ValuePayType As String
Dim ValueGroupType As String
ValueNewShrink = Validation.EX_NewShrink.Caption
Validation.DD_NewShrink.Value = ValueNewShrink
ValueGroup = Validation.EX_Group.Caption
Validation.DD_Group.Value = ValueGroup
ValueType = Validation.EX_Type.Caption
Validation.DD_Type.Value = ValueType
ValuePayType = Validation.EX_PayType.Caption
Validation.DD_PayType.Value = ValuePayType
ValueGroupType = Validation.EX_GroupType.Caption
Validation.DD_GroupType.Value = ValueGroupType
所以总是有五分之三的作品,
2从不填充值,并不总是相同,当我放置断点并添加监视分析时,EX_ .caption有与之关联的文本,但DD _ .value =&#34 ;",其他3,具有相同的标题,变量和值,奇怪的是,右边的列表框是以我的形式选择的......
请帮忙!
答案 0 :(得分:0)
由于我无法确定原因,我正在搜索它是否为空白,以及是否填充了标签。
If NewCodeFound.DD_NewShrink.Text <> "" Then
Worksheets("Email new code").Range("C10").Value = NewCodeFound.DD_NewShrink.Text
Else
Worksheets("Email new code").Range("C10").Value = NewCodeFound.EX_NewShrink.Caption
End If
If NewCodeFound.DD_Group.Text <> "" Then
Worksheets("Email new code").Range("D10").Value = NewCodeFound.DD_Group.Text
Else
Worksheets("Email new code").Range("D10").Value = NewCodeFound.EX_Group.Caption
End If
If NewCodeFound.DD_Type.Text <> "" Then
Worksheets("Email new code").Range("E10").Value = NewCodeFound.DD_Type.Text
Else
Worksheets("Email new code").Range("E10").Value = NewCodeFound.EX_Type.Caption
End If
If NewCodeFound.DD_PayType.Text <> "" Then
Worksheets("Email new code").Range("F10").Value = NewCodeFound.DD_PayType.Text
Else
Worksheets("Email new code").Range("F10").Value = NewCodeFound.EX_PayType.Caption
End If
If NewCodeFound.DD_GroupType.Text <> "" Then
Worksheets("Email new code").Range("G10").Value = NewCodeFound.DD_GroupType.Text
Else
Worksheets("Email new code").Range("G10").Value = NewCodeFound.EX_GroupType.Caption
End If