Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Laufzeitfehler 13 Typen unverträglich
#1
Hallo,

anbei die Bsp. excel Datei.

Ich erhalte, wenn ich auf Spalte "K" mehrere Zellen aufeinmal markieren möchte, diesen Fehler: "Laufzeitfehler 13 Typen unverträglich"

Oder wenn ich Spalte "J" einmal aufsteigend sortiere und danach mit STRG+Z rückgängig mache, erhalte ich die gleiche Fehlermeldung nochmal.

Was muss ich im VBA ändern, damit die Fehlermeldung nicht kommt?

Danke!


Angehängte Dateien
.xlsm   wartung_laufzeitfehler 13_forum.xlsm (Größe: 48,68 KB / Downloads: 4)
Antwortento top
#2
Hallo,

füge folgende Codezeile als erste Zeile in Deinen Code ein:

Code:
If Target.Coun > 1 Then Exit Sub
Gruß Atilla
[-] Folgende(r) 1 Benutzer sagt Danke an atilla für diesen Beitrag:
  • magnexx
Antwortento top
#3
Hi, vielen Dank erstmal.

Jetzt sieht es so aus bei mir:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Coun > 1 Then Exit Sub
    If Intersect(Range("K18:K375"), Target) Is Nothing Then Exit Sub
    If Target = "X" Then
    Target = ""
    Else
    Target = "X"
    End If
End Sub

Jetzt erhalte ich immer die Fehlermeldung:
Laufzeitfehler 438
Objekt unterstützt diese Eigenschaft oder Methode nicht


UPDATE:
Habe jetzt ein bisschen rumexperimentiert und es scheint, dass es so jetzt läuft:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Intersect(Target, Range("K18:K375")) Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    If Target = "X" Then
    Target = ""
    Else
    Target = "X"
    End If
End Sub
Antwortento top
#4
Du solltest Fehler über eine OnError Anweisung abfangen.



https://docs.microsoft.com/de-de/office/...-statement

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
on Error goto ErrHandler
    If Intersect(Target, Range("K18:K375")) Is Nothing Then Exit Sub
    If Target = "X" Then
    Target = ""
    Else
    Target = "X"
    End If
ErrHandler:
Resume next
End Sub
Antwortento top
#5
Zitat:
Code:
If Target.Coun > 1 Then Exit Sub
Hallo zusammen,


ist euch aufgefallen, dass hier nur ein Buchstabe zu fehlen scheint? Es soll bestimmt
Code:
If Target.Count > 1 Then Exit Sub
heißen
Marcus

Ich arbeite mit Excel 2003 - Excel 2007 - Excel 365

Homepage im Aufbau (alte Daten müssen wieder hergestellt werden): http://ms-excel.eu

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.

Antwortento top
#6
Zitat:
Zitat: schrieb:Code:
Code:
If Target.Coun > 1 Then Exit Sub
Hallo zusammen,


ist euch aufgefallen, dass hier nur ein Buchstabe zu fehlen scheint? Es soll bestimmt
Code:
Code:
If Target.Count > 1 Then Exit Sub
heißen
Marcus



Hi, ja das stimmt. Das war also das Problem. Als ich rumexperimentiert habe, hatte ich auch nach anderen Codes im Internet gesucht und dann ohne Absicht, den richtigen Code mit "t" (Count) am Ende kopiert und bei mir eingefügt.

Aufjedenfall funktioniert jetzt alles.

Danke
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste