Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1552to1556
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
Laufzeitfehler 13 Typen unverträglich
11.04.2017 13:50:24
Thomas
Hallo ich habe hier eine UF mit deren Hilfe eine neue Zeile mit Daten gefüllt werden soll.
Der Wert von Textbox eins soll in die erste freie Zeile der Spalte A geschrieben werden. (Funktioniert)
Desweiteren sind noch andere Textboxen auf der UF. Deren Werte sollen in die Zeile in welche der Inhalt von TB1 geschrieben worden ist.... aber in bestimmte Spalten.
Mein Code sieht wie folgt aus:
Private Sub CommandButton1_Click()
Dim letzteSpalte As String
Dim letzte As String
Dim findZeile As String
letzte = Worksheets("Vorgaben").Cells(Rows.Count, 1).End(xlUp).Row + 1
With Worksheets("Vorgaben")
Sheets("Vorgaben").Range("A" & letzte).Value = Me.TextBox1
End With
With Worksheets("Vorgaben")
findZeile = Application.Match((NeuesWerkzeug.TextBox1), .Columns(1))
'    letzteSpalte = .Cells(findZeile, Columns.Count).End(xlToLeft).Column
.Cells(findZeile, 2) = TextBox2  ' AB HIER KOMMT IM BETREFF ERWÄHNTE FEHLERMELDUNG
.Cells(findZeile, 3) = TextBox3
.Cells(findZeile, 4) = TextBox4
.Cells(findZeile, 5) = ComboBox1
.Cells(findZeile, 6) = ComboBox2
.Cells(findZeile, 16) = ComboBox3
End With
End Sub
Jemand eine Idee woran es liegen könnte ?

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

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 13 Typen unverträglich
11.04.2017 14:03:59
Anton2
Hallo Thomas,
findZeile ist als String deklariert. .Cells benötigt aber Integer, Long usw.
Das ist meine Vermutung. Einfach mal probieren.
VG Anton
findZeile muss eine Zahl sein-kein Text. owT
11.04.2017 14:05:15
robert
AW: Laufzeitfehler 13 Typen unverträglich
11.04.2017 14:15:04
Werner
Hallo Thomas,
Die Variablen sind als String deklariert, müssten aber Long sein.
LetzteZeile und letzteSpalte sowie das Applikation.Match braucht es doch gar nicht. Die weiteren Werte sollen doch in die gleiche Zeile wie der erste Eintrag und da hast du ja die Zeilennummer in der Variablen letzte.
Private Sub CommandButton1_Click()
Dim letzte As Long
With Worksheets("Vorgaben")
letzte = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(letzte, 1).Value = Me.TextBox1
.Cells(letzte, 2) = TextBox2
.Cells(letzte, 3) = TextBox3
.Cells(letzte, 4) = TextBox4
.Cells(letzte, 5) = ComboBox1
.Cells(letzte, 6) = ComboBox2
.Cells(letzte, 16) = ComboBox3
End With
End Sub
Gruß Werner
Anzeige
AW: Laufzeitfehler 13 Typen unverträglich
11.04.2017 15:57:30
Daniel
Hi
das findZeile als String deklariert ist, ist zwar falsch, verursacht aber nicht den Fehler.
VBA wandelt normalerweise Text in Zahlen und umgegehrt, wenn das mögich ist.
das Problem dürfte eher sein, dass das Application.Match den Wert nicht finden kann und daher den #NV-Fehler zurück gibt.
Dieser Fehlerwert verursacht dann den Laufzeitfehler 13, weil VBA den Fehler nicht in einen Text wandelt.
Daß dein Application.Match den Wert nicht findet, kann zwei Ursachen haben:
a) die Eingabe in die TextBox besteht nur aus Ziffern. Beim Schreiben in die Zelle wird dann diese Ziffernfolge in eine Zahl gewandelt. Da Application.Match zwischen Text und Zahl unterscheidet, wird die Zahl 1 in der Zelle nicht gefunden, wenn du nach dem Text "1" aus der TextBox suchst.
b) du hast beim Application.Match den dritten Parameter nicht angegeben. Excel nimmt dann an, dass dieser 1 ist und erwartet sortierte Daten. Wenn die Daten jedoch unsortiert sind, kann das Ergebnis der #NV-Fehler oder ein unsinniges Ergebnis sein.
Du solltest hier daher auf jeden Fall den 3. Parameter mit 0 für unsortierte Daten angeben.
Aber wie Werner schon geschrieben hat, das Application.Match ist hier absolut überflüssig, weil du die Zeile ja schon in der Variablen "letzte" hinterlegt hast.
Gruß Daniel
Anzeige
AW: Laufzeitfehler 13 Typen unverträglich
12.04.2017 07:48:54
Thomas
In der Tat ist Match völlig überflüssig.... Ich hab noch einiges zu lernen.
Der Code funktioniert jetzt und ich bedanke mich an dieser Stelle
AW: Danke für die Rückmeldung. o.w.T.
12.04.2017 09:10:12
Werner

74 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige