Forum: PC Hard- und Software [Excel VBA] Script für dynamisches Dropdownmenü will nicht recht


von VBAoderichtVBA (Gast)



Lesenswert?

Hey Leute,

Bei einem Excel Sheet will ich gerne ein dynamisches DropDownmenü für 
die Auswahl via rechter Maustaste haben. Warum ich keines von Excel 
verwende -> Weil ich bei den Excel Dropdowns keinen eigenen Text (falls 
benötigt) einfügen kann.

Zur Sache:
Das gewünschte Script wird ausgeführt, aber die Einträge werden nicht 
zugeordnet.
Das erste Script ist ähnlich, wird aber richtig ausgeführt.

Nachvollziehbarkeit:
Excel öffnen und danach entweder in der Spalte C (ab Zeile 2) mit der 
rechten Maustaste aufrufen (Geht).
Was nicht geht: Spalte D ab Zeile 2 mit rechter Maustaste drücken.
Menü wird dann leider nicht aufgrufen.

Wer sich nicht traut das MacroSheet zu öffnen, kann die Macros auch als 
Anhang ansehen.

Mit Dankesschön für ein Feedback verbeibe ich mfgG

von VBAoderichtVBA (Gast)


Lesenswert?

Keiner einer eine Idee?

von Rolf R. (dankobum)


Lesenswert?

Ich bin kein Excel VBA Experte. Ich habe mir die Dateien aber mal 
angesehen.

An deiner Stelle würde ich es erst mal mit nur einem Eintrag versuchen 
und damit testen und Änderungen ausprobieren, bis es so funktioniert, 
wie du es haben willst. So, wie ich das interpretiere, wird in deiner 
Version nämlich das gleiche für viele Zellen gemacht. Fang erst mal 
einfach an, dann ist es auch übersichtlicher.

von VBAoderichtVBA (Gast)


Lesenswert?

Gefunden!
Da war ein Call Zurueck zuviel drinnen.
So klappt der Aufruf:

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal 
Target As Range, Cancel As Boolean)
If (Sh.Name = "1. Quartal 1.1.-31.3." Or Sh.Name = "2. Quartal 
1.4.-30.6." Or _
Sh.Name = "3. Quartal 1.7.-30.9." Or Sh.Name = "4. Quartal 
1.10.-31.12.") Then
    If Target.Row >= 2 Then
        If Target.Column = 4 Then
            Call KonTextMenu
        Else
            If Target.Column = 5 Then
               Call ArtenMenuee
            Else
                Call Zurueck
            End If
        End If
    Else
        Call Zurueck
    End If
End If
End Sub

von MaWin (Gast)


Lesenswert?

VBAoderichtVBA schrieb:
> Gefunden!
> Da war ein Call Zurueck zuviel drinnen.
> So klappt der Aufruf:
> Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal
> Target As Range, Cancel As Boolean)
> If (Sh.Name = "1. Quartal 1.1.-31.3." Or Sh.Name = "2. Quartal
> 1.4.-30.6." Or _
> Sh.Name = "3. Quartal 1.7.-30.9." Or Sh.Name = "4. Quartal
> 1.10.-31.12.") Then
> If Target.Row >= 2 Then
> If Target.Column = 4 Then
> Call KonTextMenu
> Else
> If Target.Column = 5 Then
> Call ArtenMenuee
> Else
> Call Zurueck
> End If
> End If
> Else
> Call Zurueck
> End If
> End If
> End Sub

Was sagt uns das jetzt?
Genau. Das du unfähig bist und wegen so kleiner Anfängerprobleme gleich 
ein Forum brauchst.
Lass es bleiben !

von GayWin (Gast)


Lesenswert?

Typisch MaWin Wixer.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.