【发布时间】:2014-05-05 16:10:20
【问题描述】:
我希望在消息框中显示多个变量:ID、客户姓名、添加日期、地点和状态。目前,我只能显示 ID,其他变量出现 Runtime 13 错误。我的代码如下。
Sub LookupTicket()
Dim ibox, tid As Range
Dim dad, sta, ven, cna As Variant
Set Sheet = Worksheets("ControlSheet")
dad = Range("DateAdded_CS").Value
sta = Range("Status_CS").Value
ven = Range("Venue_CS").Value
cna = Range("CustName_CS").Value
ibox = InputBox("Enter Ticket ID:", "Redeem Ticket")
If ibox <> "" Then
Set tid = Sheet.Range("A:A").Find(ibox)
If tid Is Nothing Then
MsgBox "Ticket ID not found!", vbCritical, "Redeem Ticket"
Else
'MsgBox "Ticket details for ID: " & tid & vbNewLine & "Date Added: " & dad & vbNewLine & "Customer Name: " & cna & vbNewLine & "Venue: " & ven & vbNewLine & "Status: " & sta, vbInformation, "Lookup Ticket Details"
MsgBox "ID: " & sta, "Lookup Ticket"
End If
End If
感谢大家的意见。
【问题讨论】:
-
您的注释行是给您错误的那一行,我将其粘贴到工作簿中并且可以正常工作吗?
-
是的,这就是产生错误的那一行。
-
请尝试在其自己的 MsgBox 中显示 每个 变量。这应该可以帮助您确定哪些是错误的来源。让我知道哪些变量无法打印到 MsgBox。
-
目前只有 TicketID 有效,所有其他变量都返回上述错误。
-
类型 13 错误表明这些命名范围中的值可能评估为错误值。或者这些命名范围可能由多个单元格组成?
标签: excel vba messagebox