excel - 消息框中的多个变量

标签 excel vba messagebox

我希望在消息框中显示多个变量:ID、客户名称、添加日期、地点和状态。目前,我只能获取要显示的 ID,其他变量会出现运行时 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

感谢大家的任何意见。

最佳答案

变量 tid 是一个范围。如果它只有一个单元格,您应该将其更改为 tid.Value

edit: Check if tid.count = 1 我在尝试从一个范围内的一组单元格中取值时收到类型不匹配 (13) 错误。您的 Range.Find(ibox) 可能返回多个值。

关于excel - 消息框中的多个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23476991/

相关文章:

VBA 事件函数 Worksheet 和 Workbook_sheet

vba - 插入具有动态行的公式

Excel-VBA : Unable to Insert Line Breaks

c - 如何使用 Windows MessageBox() C 函数?

c# - MessageBox 中的粗体文本

VBA - 确定Activeworkbook是否有密码

vba - 在 Excel 2003 中使用 Excel 2010 文档 - VBA 问题

vba - 从列中的单元格中删除多余的空格

vba - Excel VBA 发送带有多个附件的电子邮件

delphi - FASM - 将字符串传递给 Delphi DLL