以下是用户从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
答案 0 :(得分:0)
List1.Value =“Value1”或“Value2”不正确。
它应该是:
List1.Value =“Value1”或List1.Value =“Value2”
Or表达式的每一边都是一个被评估为布尔值的值(true或false)。 “Value2”不是布尔值而是字符串