Laufzeitfehler 13 - Typen unverträglich

Bild

Betrifft: Laufzeitfehler 13 - Typen unverträglich
von: Günther
Geschrieben am: 15.11.2003 19:14:14

Hallo liebe Excel-Profis,

habe leider wieder ein Problem:

folgendes Makro ist in meiner Arbeitsmappe:


Private Sub Worksheet_Calculate()
Zeitstart = "15:29:00"
zeitende = "22:00:00"
zeitende1 = "21:00:00"
Dim i As Integer
For i = 40 To 634
    Datf = Format(Time, "hh:mm:ss")
    If Datf < Zeitstart Then End
    If Datf > zeitende Then End
    
'   Verkaufszeit
    If Cells(i, 198) = "x" Or Cells(i, 198) = "y" Or Cells(i, 198) = "z" And IsEmpty(Cells(i, 197)) Then
        Cells(i, 197) = Format(Now, "hh:mm:ss")
        Cells(i, 202) = Cells(i, 21)
    End If
    
'   Kaufzeit
    
    If Datf > zeitende1 Then GoTo ZW1
    
    If Cells(i, 15) = "F" And IsEmpty(Cells(i, 196)) Then
         Cells(i, 196) = Format(Now, "hh:mm:ss")
    End If
    
    
ZW1:
Next
End Sub


meine Tabelle ist mittels DDE-Verknüpfung mit einem anderen Programm verbunden, das Aktienkurse liefert.
beim Öffnen der Arbeitsmappe kommt Abfrage "Die Datei enthält automat. Verknüpfungen"

bei Bestätigung durch nein ist alles ok,
bei Bestätigung durch ja - es erfolgt Aktualisierung - kommt obige Meldung (siehe Feld Betreff)

danach muß ich das Feld DEBUGGEN anklicken (sonst gehts nicht weiter) und der Satz
"if Cells(i, 198) = x or Cells ............." ist gelb hinterlegt

wie kann ich diese Meldung beim Öffnen der Arbeitsmappe verhindern ???

liebe Grüße

Günther
Bild


Betrifft: AW: Laufzeitfehler 13 - Typen unverträglich
von: Hans W. Hofmann
Geschrieben am: 15.11.2003 19:22:05

Konkret sind sind da eine Menge Redundanzen in Deinem Code. Es muss heißen

Zeitstart = #3:29:00 PM#
zeitende = #10:00:00 PM#
zeitende1 = #9:00:00 PM#
....
If Time < Zeitstart Then End
If Time > zeitende Then End

Ei, die weil es keinen Sinn macht String in Sting zu wandeln und dann einem Stringvergleich auszusetzen...

Ob das jetzt ursächlich mir Deinem Prblem zusammen hängt. Diskutieren wir vielleicht dann, wenn der erste Codeteil stimmig ist...


Gruß HW


Bild


Betrifft: AW: Laufzeitfehler 13 - Typen unverträglich
von: Günther
Geschrieben am: 15.11.2003 19:36:20

Hallo HW,

ist leider nicht der Grund, Fehlermeldung kommt nach wie vor

wenn man das nicht umgehen kann, gibt es vielleicht eine andere Möglichkeit z.B. das Makro
erst nach 1 Minute nach öffnen der Arbeitsmappe zu aktivieren oder ähnliches

Meldung kommt nur beim Öffnen, sonst funktioniert das Makro sehr gut

Gruß

Günther


Bild


Betrifft: AW: Laufzeitfehler 13 - Typen unverträglich
von: Nepumuk
Geschrieben am: 15.11.2003 22:38:03

Hallo Günther,
die IsEmpty-Funktion ist in dem Zusammenhang kritisch. Versuch es mit:

Trim(Cells(i, 197))=""

Gruß
Nepumuk


Bild


Betrifft: AW: Laufzeitfehler 13 - Typen unverträglich
von: Günther
Geschrieben am: 16.11.2003 08:42:23

Hallo Nepumuk

habe die Passage ersetzt, jedoch leider keine Änderung.
Bin draufgekommen, das bei Verbindungserstellung mittels DDE beim Öffnen kurz
alle Felder mit #NV angezeigt werden.

kann das der Grund sein (da die gelbe Hinterlegung im VBA-Blatt beim Befehl CELLS (1,198)... erfolgt)

Grüße

Günther


Bild


Betrifft: AW: Laufzeitfehler 13 - Typen unverträglich
von: Nepumuk
Geschrieben am: 16.11.2003 09:09:12

Hallo Günther,
das könnte tatsächlich sein, dass die DDE - Verbindung etwas Zeit zum Aufbau benötigt. Versuche wir es mal mit einer kurzen Pause. In das Modul, über allen Makros kommt folgende Zeile:

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

In das Worksheet_Calculate - Makro als erste Zeile nach Private Sub ...

Sleep 500

Damit wartet das Programm 500 Millisekunden. Da musst du einfach mal probieren ob es reicht.
Gruß
Nepumuk


Bild


Betrifft: AW: Laufzeitfehler 13 - Typen unverträglich
von: Günther
Geschrieben am: 16.11.2003 09:19:15

Hallo Nepumuk,

entschuldige, aber "in das Modul, über allen Makros" habe ich leider nicht verstanden
meinst du das Blatt, indem mein Makro steht ?

da ich ca. 600 Aktien mit der Handelsplattform verbunden habe, dauert die Verbindungsherstellung ca. 10 - 15 Sekunden.
das könnte die Lösung sein

Gruß
Günther


Bild


Betrifft: AW: Laufzeitfehler 13 - Typen unverträglich
von: Nepumuk
Geschrieben am: 16.11.2003 09:52:36

Hallo Günther,
1. Ja, das meinte ich. Die Zeile ist ein eigenständiges Programm das eine DLL aufruft.
2. Das könnte möglich sein. Da ich aber nicht darüber verfüge, kann ich es nicht testen. Wenn du mit der Wartezeit keinen Erfolg hast, dann hätte ich noch eine andere Idee. Du könntest in der Zelle auch abfragen, ob ein Fehlerwert drinsteht.

If Not IsError(Cells(i, 197)) Then
hier kommt das Programm des Calculate - Ereignisses
End If

Gruß
Nepumuk


Bild


Betrifft: AW: Laufzeitfehler 13 - Typen unverträglich
von: Günther
Geschrieben am: 16.11.2003 12:43:36

Hallo Nepumuk,

danke für deine Infos
muß das jetzt erst ausprobieren

liebe Grüße

Günther


Bild

Beiträge aus den Excel-Beispielen zum Thema " Laufzeitfehler 13 - Typen unverträglich"