Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
868to872
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
868to872
868to872
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Abgleich mit Datensatz - Laufzeitfehler 13

Abgleich mit Datensatz - Laufzeitfehler 13
09.05.2007 21:52:29
Baldur
Hallo zusammen,
ich habe auf einem Arbeitsblatt "Daten" einen bestimmten Datensatz hinterlegt. Wenn ich auf einem Arbeitsblatt "Arbeit" jetzt in einer bestimmten Spalte einen Eintrag vornehme, dann will ich den Datensatz daraufhin durchsuchen und die zugehörigen Daten auf das Blatt "Arbeit" kopieren.
Das Ganze funktioniert soweit auch. Mein Problem ist: Es geht nur, wenn ich den Text von Hand in das Feld (auf dem Blatt "Arbeit" eingebe. Wenn ich den Text jetzt aus einem Feld kopiere oder den Text in dem Feld lösche, dann kriege ich einen Laufzeitfehler 13 (Typen unverträglich).
Woran kann das liegen? Wieso enthält Target dann nicht den Text, der gerade in das Feld kopiert wurde?
Ich hoffe, mir kann hier jemand helfen.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim intRowCnt As Integer
'Check if it was the name of ta spell that has been edited
If (Target.Column = 2 And Target.Row >= 9 And Target.Row 


5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Abgleich mit Datensatz - Laufzeitfehler 13
10.05.2007 07:22:00
Erich
Hallo Baldur,
den Fehler kann sich so nicht nachvollziehen. Ob eingetragen, kopiert oder gelöscht wird,
Target sollte immer den neuen Inhalt der Zelle als Wert haben.
Bau doch mal eine Zeile
Msgbox Target
an den Anfang der Prozedur.
Bei welcher Codezeile tritt er auf?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: Laufzeitfehler 13 - auch damit...
10.05.2007 08:01:00
Erich
Hallo Baldur,
teste bitte mal

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim intRowCnt As Integer
Dim DataStartRow As Long, DataEndRow As Long ' woanders deklariert?
DataStartRow = 2  ' Test
DataEndRow = 10   ' Test
'Check if it was the name of ta spell that has been edited
If (Target.Column = 2 And Target.Row >= 9 And Target.Row 

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Laufzeitfehler 13 - auch damit...
10.05.2007 20:00:30
Baldur
Hallo Erich,
zuerst mal danke für deine Antwort.
Das hat aber leider auch nicht geholfen. Es geht in folgender Zeile schief:
"If Target = .Cells(intRowCnt, 1) Then"
Wie gesagt, ich kriege da Laufzeitfehler 13 ("Typen unverträglich")
Achja, und das hier
Dim DataStartRow As Long, DataEndRow As Long ' woanders deklariert?
DataStartRow = 2 ' Test
DataEndRow = 10 ' Test
habe ich weiter oben als Konstanten deklariert
Const SpellTableStartRow As Integer = 95
Const SpellTableEndRow As Integer = 200
Könnte eine mögliche Ursache sein, dass ich auf dem Blatt "Arbeit" mehrere Zellen miteinander verbunden habe, in die ich das eintrage?
Viele Grüße
Baldur

Anzeige
AW: Laufzeitfehler 13 - auch damit...
10.05.2007 20:37:23
Baldur
Ha, das war´s!!!!
Es liegt daran, dass mehrere Zellen verbunden sind. Ich habe den Code jetzt wie folgt geändert:
If Target.Cells(1,1) = .Cells(intRowCnt, 1) Then
Danke noch mal für die Hilfe!!!
Liebe Grüße
Baldur

Danke für Rückmeldung - und ...
10.05.2007 22:50:00
Erich
Hallo Baldur,
es freut mich, dass du die Ursache gefunden und das Problem gelöst hast!
Tja, verbundene Zellen sind des Teufels, machen oft Probleme in VBA, aber auch in Excel.
Grüße von Erich aus Kamp-Lintfort

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige