Anzeige
Archiv - Navigation
1764to1768
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

variable definieren: type mismatch

variable definieren: type mismatch
20.06.2020 19:48:59
Nils
Hallo zusammen,
Ich definiere in meinem Code eine bestimmte Variable. Wenn diese mit einer bestimmten Nummer anfängt soll er die Variable umdefinieren. Und zwar soll nach dem aktuellen Wert der Variable in einem anderen Sheet gesucht werden und dann nach dem Wert rechts hiervon gesucht werden. Dieser Wert rechts soll dann der neue Wert der Variable sein. Hier mal mein Auszug aus dem Code der hierfür zuständig sein soll:
ElseIf Left(Personalnr, 1) = "8" Then
Personalnr = Application.VLookup(Personalnr, Sheets("Mapping CZ").Range("B:C"), 2, False)
Hierbei kommt nun leider die Fehlermeldung "run-time error 13: Type mismatch"
Wäre eine super Hilfe wenn mir hier jemand unter die Arme greifen könnte. Danke vorab!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: variable definieren: type mismatch
20.06.2020 19:54:06
ralf_b
versuch erstmal mal das
WorksheetFunction.VLookup
AW: variable definieren: type mismatch
20.06.2020 20:13:37
Nils
Das ändert lediglich die Art der Fehlermeldung: Run-Time error 1004, unable to get the vlookup property of the worksheetfunction class
AW: variable definieren: type mismatch
21.06.2020 00:06:40
onur
Du musst Personalnr als Variant DEKLARIEREN.
Dim Personalnr

oder
Dim Personalnr as Variant

AW: variable definieren: type mismatch
21.06.2020 09:03:09
Luschi
Hall Nils,
Du brauchst einer Ergebnisvariable
Dim erg As Variant
So wie Du es machst, wird die Variable 'Personalnr' überschrieben. Wird der Suchwert aber nicht gefunden, liefert VLookup einen Fehlerwert und der kann nur von einer Variant-Variablen aufgefangen werden, deshalb sieht mein Code so aus:
Modul Modul1
Option Explicit 
 
Sub test1() 
    Dim Personalnr  As String, erg As Variant 
    Personalnr = "A-2468" 
 
    If Right(Personalnr, 1) = "8" Then 
       erg = Application.VLookup(Personalnr, Sheets("Mapping CZ").Range("B:C"), 2, False) 
    End If 
    If IsError(erg) Then 
       MsgBox "PerdonslNr: '" & Personalnr & "' nicht gefunden!", 16, "zur Info..." 
    End If 
    Debug.Print erg 
End Sub 

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


Gruß von Luschi
aus klein-Paris
Anzeige
AW: variable definieren: type mismatch
22.06.2020 09:30:13
Nils
Hey Luschi,
der Code stoppt nun nicht mehr an dieser Stelle. Leider folgt hierauf noch eine Menge Programmierung, die sich auf die Variable "Personalnr" bezieht. Diese hat bei deiner Variante ja nun leider noch den alten Wert, da du eine neue Variable genutzt hast. Ist es möglich weiterhin nur "Personalnr" zu verwenden?
AW: variable definieren: type mismatch
21.06.2020 00:07:14
onur
Du musst Personalnr als Variant DEKLARIEREN.
Dim Personalnr

oder
Dim Personalnr as Variant

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige