Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Laufzeitfehler "13" Typen unverträglich. Was ist falsch an diesem Code?

184 views
Skip to first unread message

Petra Bauer

unread,
May 28, 2003, 12:23:25 PM5/28/03
to
Hallo NG

In einer Zelle habe folgenden Text stehen: xlDialogInsertHyperlink
Die Zelle soll nun markiert werden und dann der Inhalt an die Variable
xlDia
übergeben werden.
Leider erhalte ich statt dem gewünschten Dialogfeld diese Fehlermeldung

Laufzeitfehler "13", Typen unverträglich.

Sub Click_and_show()
Dim xlDia As String
xlDia = ActiveCell.Value
Application.Dialogs(xlDia).Show
End Sub

Was ist falsch an diesem Code?

Die Zeile
Application.Dialogs(xlDialogInsertHyperlink).Show
klappt dagegen einwandfrei.

Da es aus technischen Gründen mit der Variablen funktionieren muß,
nutzt mir dies nichts.

Wer weis Rat?

Gruß Petra

Wolfgang Kutsche

unread,
May 29, 2003, 5:31:26 AM5/29/03
to
Hallo Petra,

ich kann mir zwar auch nicht erklären, warum der Wert der
Variablen von Dialogs nicht angenommen wird, aber
vielleicht hilft Dir mein Vorschlag zur Umschiffung des
Problemes.

Sub Click_and_show_1()
If ActiveCell.Value = "xlDialogInsertHyperlink" Then
Application.Dialogs(xlDialogInsertHyperlink).Show
End If
End Sub

Gruß Wolfgang


>-----Originalnachricht-----

>.
>

Rainer Georg Blankenagel

unread,
May 29, 2003, 12:11:08 PM5/29/03
to
"Petra Bauer" <BeT...@gmx.de>:

>Hallo NG
>
>In einer Zelle habe folgenden Text stehen: xlDialogInsertHyperlink
>Die Zelle soll nun markiert werden und dann der Inhalt an die Variable
>xlDia
>übergeben werden.
>Leider erhalte ich statt dem gewünschten Dialogfeld diese Fehlermeldung
>
>Laufzeitfehler "13", Typen unverträglich.
>
>Sub Click_and_show()
> Dim xlDia As String
> xlDia = ActiveCell.Value
> Application.Dialogs(xlDia).Show
>End Sub
>
>Was ist falsch an diesem Code?

xlDialogInsertHyperlink ist eine Konstante vom Datentyp Zahl.

Die Anweisung
|MsgBox xlDialogInsertHyperlink
gibt als Ergebnis die Zahl 596.

Ich habe gerade mal ein bißchen experimentiert, um aus einem in
Stringform vorliegenden Konstantennamen den zugehörigen Wert auszulesen,
aber erfolglos.

Vielleicht hat dahingehend jemand anders eine Idee.


Rainer

Melanie Breden

unread,
May 29, 2003, 3:03:26 PM5/29/03
to
Hallo Rainer, Hallo Petra,

"Rainer Georg Blankenagel" schrieb:


> >In einer Zelle habe folgenden Text stehen: xlDialogInsertHyperlink
> >Die Zelle soll nun markiert werden und dann der Inhalt an die Variable
> >xlDia
> >übergeben werden.
> >Leider erhalte ich statt dem gewünschten Dialogfeld diese Fehlermeldung
> >
> >Laufzeitfehler "13", Typen unverträglich.
> >
> >Sub Click_and_show()
> > Dim xlDia As String
> > xlDia = ActiveCell.Value
> > Application.Dialogs(xlDia).Show
> >End Sub
> >
> >Was ist falsch an diesem Code?
>
> xlDialogInsertHyperlink ist eine Konstante vom Datentyp Zahl.
>
> Die Anweisung
> |MsgBox xlDialogInsertHyperlink
> gibt als Ergebnis die Zahl 596.
>
> Ich habe gerade mal ein bißchen experimentiert, um aus einem in
> Stringform vorliegenden Konstantennamen den zugehörigen Wert auszulesen,
> aber erfolglos.

die ID's per VBA auslesen hab ich auch nicht hinbekommen :-(

Aber der Objektkatalog spukt die jeweilige ID aus.
Drücke im VBE <F2> um den Objektkatalog anzuzeigen.
Gebe als Suchtext "XlBuiltInDialog" ein bestätige mit <Enter>.
Im rechten Fenster werden alle Elemente von "XlBuiltInDialog" angezeigt.
Klicke eine Konstante an, dann kannst du im grauen Fenster unterhalb der Elemente die jeweilige ID ablesen.

Eine weitere Möglichkeit ist über das Direktfenster:
Schreibe in das Direktfenster:
?xlDialogInsertHyperlink und drücke <Enter>

Als Workarround für Petra:
Schreibe die ID der Dialogkonstanten in eine Hilfsspalte neben deine Auswahl.
Diese Hilfsspalte kannst du auch ausblenden.
Dein Makro könnte dann wie folgt aussehen:

Sub Click_and_show()
Application.Dialogs(ActiveCell.Offset(0, 1)).Show
End Sub


Kommst du damit weiter?

--
Mit freundlichen Grüßen
Melanie Breden

_____________________
[Microsoft MVP für Excel]

Petra Bauer

unread,
Jun 2, 2003, 6:21:55 AM6/2/03
to
Danke allen,

die Lösung über die ID scheint die einzige Lösung.

Gruß Petra

"Petra Bauer" <BeT...@gmx.de> schrieb im Newsbeitrag
news:O#gHnXTJD...@tk2msftngp13.phx.gbl...

Frank Arendt-Theilen

unread,
Jun 2, 2003, 11:29:18 AM6/2/03
to
Hallo Petra,
bei "xlDialogInsertHyperlink" handelt es sich um eine benannte
Konstante von VBA. Diese kann nicht, wie von dir vorgesehen,
eingesetzt werden. Benutze statt dessen den numereischen Wert, der
durch diesen Konstantennamen repräsentiert wird, hier 596.
Um den numerischen Wert einer benannten Konstante zu ermitteln gehe
wie folgt vor:
- wechsle in die VBA-Umgebung, in das Direktfenster und gib ein:
?xlDialogInsertHyperlink
- mit Return bestätigen
Dies gilt für alle benannten Konstanten.

MfG Frank
_________________________________________________
Frank Arendt-Theilen, Microsoft MVP für Excel, Hameln
eMail: Thei...@t-online.de, Homepage: http://www.xl-faq.de

0 new messages