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
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-----
>.
>
>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
"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]
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...
MfG Frank
_________________________________________________
Frank Arendt-Theilen, Microsoft MVP für Excel, Hameln
eMail: Thei...@t-online.de, Homepage: http://www.xl-faq.de