如果语句与combobox值无法正常工作

时间:2018-04-05 16:03:39

标签: vba excel-vba excel

以下是用户从3个组合框中选择数据并将文本添加到3个以上字段后的vba代码。我试图根据组合框的值选择一个工作表,(下面的“List1”)。但是,尽管List1.Value正确,代码仍会继续通过两个工作表。如何选择正确的表格?

Private Sub OKPrint_Click()

Dim LastRow As Long, wb As Workbook, ws As Worksheet

ChDir ("My Directory")

On Error Resume Next

Set wb = Workbooks("Workbook in Question")

If wb Is Nothing Then
    Workbooks.Open ("My Directory + the Workbook in Question")
    Set wb = Nothing
    On Error GoTo 0
Else

Set ws = Sheets("Sheet1")

ws.Select

LastRow = ws.Range("A" & Rows.Count).End(xlUp).Row + 1

ws.Range("A" & LastRow).Value = List1.Value
ws.Range("B" & LastRow).Value = List2.Value
ws.Range("C" & LastRow).Value = List3.Value
ws.Range("D" & LastRow).Value = Input1.Value
ws.Range("E" & LastRow).Value = Input2.Value
ws.Range("F" & LastRow).Value = Input3.Value

If List1.Value = "Value1" Or "Value2" Then

    Set ws = Sheets("Sheet2")

    ws.Range("C15").Value = List1.Value
    ws.Range("C17").Value = List2.Value
    ws.Range("C18").Value = List3.Value
    ws.Range("C16").Value = Input1.Value
    ws.Range("C19") = "a bit of text"
    ws.Range("C20").Value = Input2.Value
    ws.PrintOut

Else

    Set ws = Sheets("Sheet3")

    ws.Range("C15").Value = List1.Value
    ws.Range("C17").Value = List2.Value
    ws.Range("C18").Value = List3.Value
    ws.Range("C16").Value = Input1.Value
    ws.Range("C19") = "a bit of text"
    ws.Range("C20").Value = Input2.Value
    ws.PrintOut
End If



LocAmt.Value = Null
ValDt.Value = Null
ToDt.Value = Null

ActiveWorkbook.Save

End If
End Sub

1 个答案:

答案 0 :(得分:0)

List1.Value =“Value1”或“Value2”不正确。

它应该是:

List1.Value =“Value1”或List1.Value =“Value2”

Or表达式的每一边都是一个被评估为布尔值的值(true或false)。 “Value2”不是布尔值而是字符串