Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1820to1824
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
Inhaltsverzeichnis

Frage zur Aktivierung von Makros

Frage zur Aktivierung von Makros
29.03.2021 16:57:06
Makros
Hallo Zusammen,
eine Kurze Frage, ich habe in einem Tabellenblatt ein Säulendiagramm eingefügt, ist es nun möglich, durch Anklicken einer bestimmten Säule in dem Diagramm ein Makro zu starten (konkret eine Userform)? Danke schonmal!

30
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Frage zur Aktivierung von Makros
29.03.2021 17:15:06
Makros
Hallo Philip,
Rechtsklick auf die Diagrammfläche - Makro zuweisen.
Gruß
Nepumuk

AW: Frage zur Aktivierung von Makros
29.03.2021 17:16:59
Makros
Hallo Nepumuk,
aber dann wird immer das selbe Makro gestartet, oder? Ich Wollte eigentlich für jede Säule ein eigenes Makro hinterlegen (die Söulen sind von 1 bis X durchnummeriert).

AW: Frage zur Aktivierung von Makros
29.03.2021 17:39:40
Makros
Hallo Philip,
das geht, ist aber ein bisschen komplizierter. Ich habe es dir mal in eine Mustermappe eingebaut.
https://www.herber.de/bbs/user/145187.xlsm
Beachte auch den Code im Modul "DieseArbeitsmappe".
Gruß
Nepumuk

Anzeige
AW: Frage zur Aktivierung von Makros
29.03.2021 18:10:12
Makros
Hallo Nepumuk,
ich versuche den Code gerade in meine Excel-Mappe einzubinden, allerdings scheint das Makro mein Diagramm nicht anzusprechen, dieses heißt "Diagramm" und befindet sich im Tabellenblatt 1, die Zeile lautet also:
Set mobjChartClass.Chart = Tabelle1.ChartObjects("Diagramm").Chart
Allerdings tut sich da nichts.

AW: Frage zur Aktivierung von Makros
29.03.2021 18:14:03
Makros
Hallo Philip,
da brauchst du nichts ändern wenn es nur ein Diagramm in der Tabelle gibt.
Gruß
Nepumuk

AW: Frage zur Aktivierung von Makros
29.03.2021 18:17:18
Makros
Hallo Nepumuk,
ok, ich habe dann noch die entpsrechenden Codes kopiert und wenn ich das Klassenmodul richtig verstanden habe, brauche ich bei den Nummern die nach Case stehen, einfach die Nummern der Säulen meines Diagramms eintragen, oder? Dennoch startet das Makro nicht.

Anzeige
AW: Frage zur Aktivierung von Makros
29.03.2021 18:26:13
Makros
Hallo Philip,
schließ die Mappe und öffne sie erneut um die Klasse zu initialisieren.
Gruß
Nepumuk

AW: Frage zur Aktivierung von Makros
29.03.2021 18:41:49
Makros
Hm leider immernoch nichts, allerdings ist mir aufgefallen, dass die Säulen in deinem Diagramm points sind (also Säule 1 ist dann points(1)), in meinem Diagramm handelt es sich bei der ersten Säule aber um FullSeriesCollection(1), funktioniert das Makro deswegen nicht?

AW: Frage zur Aktivierung von Makros
29.03.2021 18:46:04
Makros
Hallo Philip,
kann ich aus der Ferne nicht sagen. Lade die Mappe hoch.
Gruß
Nepumuk

AW: Frage zur Aktivierung von Makros
29.03.2021 19:09:30
Makros
Hallo Philip,
du hast "Säulendiagramm" geschrieben, jetzt ist es ein kombiniertes Punkt-Balkendiagramm. Auf was willst du klicken?
Gruß
Nepumuk

AW: Frage zur Aktivierung von Makros
29.03.2021 19:12:18
Makros
Hallo Nepumuk,
auf die Balken, also die waagerechten Linien im unteren Bereich. Ich habe gerade gesehen, dass das Makro nach Argument2 geht (welches den points entspricht), wenn ich das auf Argument 1 setze, wird nach den Fullseriescollections gesucht, stimmt das?

Anzeige
AW: Frage zur Aktivierung von Makros
29.03.2021 19:22:35
Makros
Hallo Philip,
Argument1 ist die Datenreihe Argument2 der X/Y - Wert. Also:
Private Sub mobjChart_MouseDown(ByVal Button As Long, ByVal Shift As Long, ByVal x As Long, ByVal y As Long)
    Dim IDNumber As XlChartItem
    Dim Argument1 As Long, Argument2 As Long
    If Button = vbKeyLButton Then
        Call Chart.GetChartElement(x, y, IDNumber, Argument1, Argument2)
        If IDNumber = xlSeries Then
            Select Case Argument1
                Case 8
                    Call Makro1
                Case 9
                    Call Makro2
                Case 10
                    Call Makro3
            End Select
        End If
    End If
End Sub

Gruß
Nepumuk

Anzeige
AW: Frage zur Aktivierung von Makros
30.03.2021 17:31:43
Makros
Hallo Nepumuk,
wow, es funktioniert, vielen Dank! Nur eins ist mir aufgefallen: Wenn ich auf die erste Zeile klicke und damit das Makro 1 ausgelöst wird, wird beim darauffolgenden Klick auf Zeile 2 erneut das Makro 1 gestartet, erst beim zweiten Klick in Zeile 2 startet Makro 2, weißt du, woran das liegt?

AW: Frage zur Aktivierung von Makros
30.03.2021 17:43:48
Makros
Hallo Philip,
dafür hatte ich diese Zeile in meinem Makro:
Call ActiveCell.Select

Die hast du gelöscht.
Gruß
Nepumuk

Anzeige
AW: Frage zur Aktivierung von Makros
30.03.2021 18:06:00
Makros
Hallo Nepumuk,
die Zeile ist wieder drin, das Problem ist, dass nach Klick auf die Zeile ein Makro gestartet wird, in dem eine Userform geöffnet wird und mit Daten aus der Zeile befüllt wird. Der Benutzer kann nun Daten eintragen und nach Klick auf eine Schaltfläche ("Eintragen") wird eine Zeile befüllt und die Userform beendet. Wenn ich stattdessen das Makro, welches durch Klick auf die Zeile gestartet wird wieder in die ursprüngliche Form zurückschreibe (also lediglich das Öffnen einer Messagebox), dann funktioniert es wieder so wie es soll, ich vermute, es liegt an meinem "verschachtelten Makro"?

Anzeige
AW: Frage zur Aktivierung von Makros
30.03.2021 18:16:59
Makros
Hallo Philip,
versuch es mal damit:
Private Sub mobjChart_MouseDown(ByVal Button As Long, ByVal Shift As Long, ByVal x As Long, ByVal y As Long)
    Dim IDNumber As XlChartItem
    Dim Argument1 As Long, Argument2 As Long
    If Button = vbKeyLButton Then
        Call Chart.GetChartElement(x, y, IDNumber, Argument1, Argument2)
        If IDNumber = xlSeries Then
            Call ActiveCell.Select
            Select Case Argument1
                Case 8
                    Call Makro1
                Case 9
                    Call Makro2
                Case 10
                    Call Makro3
            End Select
        End If
    End If
End Sub

Gruß
Nepumuk

Anzeige
AW: Frage zur Aktivierung von Makros
30.03.2021 18:29:03
Makros
Hallo Nepumuk,
leider kein Erfolg, ich habe mal das Makro, welches nach Klick auf die Zeile ausgelöst wird eingefügt:
UserForm2.Show
If Not Range("Ereignisse!A259:A262").Find(Range("Tabelle1!AG4")) Is Nothing Then
UserForm2.TextBox1.Text = "Ausfuhr"
UserForm2.Label3.Caption = "Art:"
UserForm2.Label3.Caption = "Menge:"
End If
With UserForm2
.TextBox2.Text = Format(Format(Now, "hh"), "00")
.TextBox3.Text = Format(Format(Now, "nn"), "00")
.TextBox4.Text = Range("Tabelle1!AG4").Text
.TextBox5.SetFocus
End With
In der Userform2 löst dann das Klicken auf die Schaltfläche "Eintragen" folgendes Makro aus:
Private Sub CommandButton1_Click()
Dim nz As Integer
nz = 12
Do Until nz = 105
If Range("Tabelle1!S" & nz).Value = "" Then
Range("Tabelle1!S" & nz).Value = TextBox4.Value
Range("Tabelle1!U" & nz).Value = TextBox2 & ":" & TextBox3
Range("Tabelle1!V" & nz).Value = TextBox5.Value
Call Tabelle1.TabelleFormatieren
Unload Me
Exit Sub
Else
nz = nz + 1
End If
Loop
End Sub


Anzeige
AW: Frage zur Aktivierung von Makros
30.03.2021 18:32:56
Makros
Hallo Philip,
ich sehe da kein Problem warum das nicht funktionieren sollte. Was passiert wenn du die Select-Zeile drin hast?
Gruß
Nepumuk

AW: Frage zur Aktivierung von Makros
30.03.2021 18:46:39
Makros
Hallo Nepumuk,
wie gesagt, die Zeile ist drin, das Klassenmodul sieht genauso aus wie in deiner ersten Beispieldatei, nur eben mit deinen letzten Änderungen und den Verweisen auf die neuen Makros. Ich habe einmal die Datei angehängt:
https://www.herber.de/bbs/user/145215.xlsm
Die drei Zeilen sind die Objekte FullSeriesCollection(8-10), nach Klick öffnet sich eine UserForm, und in der TextBox sollte dann Säule8-10 stehen, allerdings steht muss man bei einem Wechsel der Zeile jeweils 2x drücken, damit das zugehörige Makro gestartet wird.

AW: Frage zur Aktivierung von Makros
30.03.2021 18:55:24
Makros
Hallo Philip,
teste mal:
Public Sub Makro8()
    With UserForm1
        .TextBox1.Text = "Säule8"
        .Show
    End With
End Sub

Gruß
Nepumuk

AW: Frage zur Aktivierung von Makros
31.03.2021 17:07:59
Makros
Hallo Nepumuk,
wow, das wars, jetzt klappt es, tausend Dank dir!
Nun noch eine abschließende Frage:
In meinem Diagramm sind manche FullSeriesCollections noch weiter unterteilt (eine Datenreihe ist z.B. die FullSeriesCollection(8), diese entspricht einer Datenreihe mit 20 Punkten, dementsprechend gibt es noch points von 1-20, die alle zur FSC 8 gehören), bisher kann man ja nur einen Case für eine FullSeriesCollection ODER einen point definieren, geht das auch mit beiden? Ich habe die Formel schon versucht zu verschachteln, aber ohne Erfolg:
If IDNumber = xlSeries Then
Call ActiveCell.Select
Select Case Argument1
Case 8
Select Case Argument2
Case 12
MsgBox "Test"
End Select
Case 12
Call Säule01
Case 13


AW: Frage zur Aktivierung von Makros
31.03.2021 17:34:50
Makros
Hallo Philip,
du bist schon auf dem richtigen Weg.
Setze einen Haltepunkt in das Makro und lass dir den angeklickten Wert anzeigen. Anders mache ich das auch nicht.
Gruß
Nepumuk

AW: Frage zur Aktivierung von Makros
31.03.2021 17:43:06
Makros
Also die MsgBox "Test" soll angezeigt werden, wenn auf das Objekt FullseriesCollection(8).Points(12) geklickt wird. Vielleicht klappt es auch deswegen nicht, weil es sich dabei um ein DataLabel handelt (also FullseriesCollection(8).Points(12) .DataLabel), funktioniert das mit dem Makro auch?
Was genau meinst du mit Haltepunkt?

AW: Frage zur Aktivierung von Makros
01.04.2021 13:46:50
Makros
Noch ein Zwischenstand:
Ich habe jetzt jeweils points von 1-34, eine Reihe gehört aber zur FullSeriesCollection(1) und die andere zur FullSeriesCollection(8), wenn ich jeweils den ersten Punkt anklicke, startet das selbe Makro, somit müsste man in dem Select Baum sowohl nach der FullSeriesCollection, als auch nach dem Baum unterscheiden. Wie gehts das?

AW: Frage zur Aktivierung von Makros
01.04.2021 13:50:38
Makros
Hallo Philip,
ich kann dir nicht folgen. FullSeriesCollection ist nur eine Methode, die hat nichts mit den Datenpunkten zu tun. Was willst du genau erreichen?
Gruß
Nepumuk

AW: Frage zur Aktivierung von Makros
01.04.2021 14:02:52
Makros
Ich habe mit dem Makrorecorder die einzelnen Nummern herausgefunden:
FullSeriesCollection(1).points(1-34) gehören zur ersten Spalte der Werte, die dann in das obige DIagramm mit Symbolen eingetragen werden,
FullSeriesCollection(2).points(1-34) gehören zur zweiten Spalte usw.
Nun kann ich aber innerhalb des Select Baums entweder nach der FSC (Argument1) oder den points(Argument 2) selektieren, wenn ich dann zb nach Argument 2 selektiere und das MakroXY zuweise, startet das selbe Makro, wenn ich auf den Punkt 1 klicke, egal ob der punkt 1 zur FSC 1 oder 2 gehört. somit müsste ich nach beiden Argumenten selektieren:
Argument 1 = 1 und Argument 2 = 1 Makro 1
Argument 1 = 1 und Argument 2 = 2 Makro 2
Argument 1 = 2 und Argument 2 = 1 Makro 11
usw.

AW: Frage zur Aktivierung von Makros
02.04.2021 19:58:17
Makros
Bitte den Thread beenden und die Frage neu stellen.
Diese Chat-Form des Frage/Antwortspiels zerschießt mir die Forumsliste.
Gruss hans

AW: Frage zur Aktivierung von Makros
03.04.2021 14:38:13
Makros
done

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige