Mehrere Variablen in einer message-box
Ich bin auf der Suche zu präsentieren, mehrere Variablen in einer messagebox: ID, Name des Kunden, Datum Hinzugefügt, location und Status. Im moment kann ich nur die ID angezeigt, die anderen Variablen vorhanden ist eine Runtime 13 Fehler. Mein code ist unten.
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
Danke Jungs für jede Eingabe.
- Ist Ihr Kommentar das man Ihnen die Fehler, ich klebte es in eine Arbeitsmappe und es funktioniert?
- Ja, das ist die Zeile, die den Fehler generiert.
- Bitte versuchen Sie, die Darstellung der einzelnen Variablen in seiner eigenen MsgBox. Dies soll Ihnen helfen zu ermitteln, welche eine(s) ist die Quelle des Fehlers. Lassen Sie mich wissen, welche Variablen nicht in der Lage sind zu drucken, zu MsgBox.
- Nur TicketID ist derzeit daran, alle anderen Variablen wieder den Fehler wie oben angegeben.
- Typ 13 Fehler deutet darauf hin, dass die Werte in den genannten Bereichen könnten zu evaluieren, um einen Fehlerwert. Oder vielleicht diejenigen, die benannte Bereiche aus mehreren Zellen bestehen?
- Können Sie
Debug.Print Range("DateAdded_CS").Address
? Was bedeutet es Ihnen sagen
InformationsquelleAutor user3604976 | 2014-05-05
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die variable
tid
ist eine Reihe. Deshalb sollten Sie zutid.Value
wenn sein gehen, um eine einzelne Zelle.Bearbeiten: Überprüfen Sie, ob
tid.count = 1
bekomme ich einen type mismatch (13) Fehler beim Wert aus einer Gruppe von Zellen in einem Bereich. IhreRange.Find(ibox)
vielleicht zurückgeben, die mehr als einen Wert.MsgBox "Ticket: " & tid.Value & ", Station: " & sta.Value
, vbCritical, "Titel".Value
wäre das nicht nötig. Seit der OP ist der Bereich.Find
Methode, ich vermute die Auflösung betreffen die Indizierung den benannten Bereichen führen eine Art "lookup" - Funktion zum abrufen der Werte für die anderen Variablen.find
hier, aber Sie sagt, es gibt die ersten Zelle. Farbe, die mich verwirrt.dad, sta, ven, cna
sind Spalte reicht mit dem entsprechenden ID-Feld. Aber wenn die OP reagiert auf keine der Kommentare/Fragen, ich denke, wir werden es nie erfahren. 🙂