Das Bild unten ist ein Beispiel für das, was ich versuche zu tun. Mein Diagramm zeigt die Kapazität von Ressourcen im Monat. Ich wähle den Monat, für den ich Daten aus der Dropdown-Liste anzeigen möchte. Während dies in Excel ist, versuche ich dasselbe in Powerpoint mit den Charts und den AxtiveX-Steuerelementen zu erreichen. Kann mir bitte jemand dabei helfen?Ist es möglich, Diagramme in Powerpoint mit Combobox zu steuern?
Antwort
ein Standard-Microsoft verwenden Forms 2.0 ComboBox-Steuerelement (ich verwende ActiveX-Steuerelemente nicht), das ist ziemlich viel, was Sie suchen.
Fügen Sie das ComboBox-Steuerelement auf der Folie ein, auf der sich das Diagramm befindet. Dies setzt voraus, dass die Diagrammdaten im Standardelement ListBox
im Arbeitsblatt ChartData.Workbook.Worksheets(1)
enthalten sind (dh, wenn Sie ein Diagramm direkt in PPT einfügen), wenn Sie ein Diagramm aus Excel kopieren. Dies muss möglicherweise überarbeitet werden, aber das allgemeine Idee ist die gleiche:
- Wenn der Benutzer die Combobox auswählt, (
ComboBox1_GotFocus
der Diagramm abfragt zugrunde liegenden Daten, die Liste zu füllen Wenn Ihre Daten unterschiedlich strukturiert ist, wird dies geändert werden müssen - Benutzer machen kann.. eine Auswahl in der ComboBox
- Nach der Auswahl wird das Ereignis
ComboBox1_Change
den Datenbereich identifizieren h enthält die ausgewählte Serie, und versteckt die andere Serie, so dass nur die ausgewählte Reihe sichtbar ist
Hier ist meine Standarddiagramm & Daten, die ich mit der rechten Maustaste/Daten bearbeiten anzeigen können:
Anzeige der Diashow, die ComboBox Eingabe wird die Liste der Seriennamen angezeigt werden:
Ändern Sie dann die Auswahl, und sehen nur die ausgewählte Serie:
Option Explicit
'This code belongs in a SLIDE module in PowerPoint
Private Sub ComboBox1_Change()
'This procedure hides/unhides chart series, based on combobox value
Dim rng As Object 'Excel.Range object
Dim c As Long
With Me.Shapes("Content Placeholder 5").Chart.ChartData '## MODIFY YOUR SHAPE NAME
.Activate
.Workbook.Parent.WindowState = -4140
For c = 2 To .Workbook.Worksheets(1).ListObjects(1).HeaderRowRange.Columns.Count
Set rng = .Workbook.Worksheets(1).ListObjects(1).HeaderRowRange.Cells(c)
rng.EntireColumn.Hidden = (rng.Value <> ComboBox1.Value)
Next
.Workbook.Close
End With
End Sub
Private Sub ComboBox1_GotFocus()
'This procedure sets the list items in the combobox whenever it gets focus
Dim lst As Variant
Dim xlApp As Object
With Me.Shapes("Content Placeholder 5").Chart.ChartData '## MODIFY YOUR SHAPE NAME
.Activate
.Workbook.Parent.WindowState = -4140
Set xlApp = .Workbook.Parent
.Workbook.Worksheets(1).Columns("B:D").Hidden = False
lst = xlApp.Transpose(xlApp.Transpose(.Workbook.Worksheets(1).Range("B1:D1").Value))
.Workbook.Close
End With
ComboBox1.List = lst
End Sub
Wow, das ist großartig. Genau das, was ich machen wollte. Vielen Dank dafür !! Neues lernen für mich. – Navya
- 1. PowerPoint-Präsentation steuern
- 2. Ist es möglich, einen Stellantrieb mit Dronekit Python zu steuern?
- 3. Ist es möglich, flex 3 Diagramme in intellij zu kompilieren?
- 4. Ist es möglich, Docker in einem Container zu steuern?
- 5. Ist es möglich, doppelte Links in GOJS zu steuern
- 6. WebRTC: Ist es möglich, die Mikrofon- und Lautstärkestufen zu steuern?
- 7. Ist es möglich, PowerPoint 2007 Folien in ein PDF einschließlich Animationen exportieren zu lassen?
- 8. Ist es möglich, die Größe eines Arrays mit dem Typparameter eines Generic zu steuern?
- 9. Ist es möglich, mit der AWS API Wolkenbilder zu erstellen?
- 10. Ist es möglich, zu steuern, wann das typed.js-Plugin beginnt, Text einzugeben und zu beenden?
- 11. Möglich, Positionierung in Android genau zu steuern mit XML
- 12. Ist es möglich, Metadaten in Winform einzubetten oder zur Laufzeit zu steuern?
- 13. Ist es möglich, mit Boost.Hana zu deserialisieren?
- 14. Ist es möglich, ein Diagramm in R (Basisgrafiken) zu drehen?
- 15. Ist es möglich, die Reihenfolge von EventHandlern zu steuern, die für Ereignisse in MonoTouch.Dialog ausgelöst werden?
- 16. Ist es unmöglich Optionen einer Combobox mit PHP zu verstecken?
- 17. Wie ist es möglich, hardwares wie Parallel Port und serielle Schnittstelle von asp.net zu steuern
- 18. Ist es möglich, zwischen Videospuren in HTML5 MSE zu wechseln?
- 19. Ist es möglich, remote desktop auf php-website zu sehen?
- 20. Ist es möglich, das Kameralicht eines Telefons über eine Website zu steuern?
- 21. Ist es möglich, Klassen mit Funktionen in Scala zu schreiben?
- 22. Ist es möglich, in Programmdateien mit eingeschränkten Rechten zu installieren?
- 23. Ist es möglich, mit MD5 in BigQuery zu hashen?
- 24. Ist es möglich, Ropemacs mit TRAMP in Emacs zu verwenden?
- 25. Ist es möglich, Objekte mit Zirkelverweisen in Unity zu erstellen?
- 26. Ist es möglich, Maustreiber mit Zeiger in Android zu implementieren?
- 27. Ist es möglich, WPF Combobox.SelectedValue an mehrere ObjectDataProvider zu binden?
- 28. Ist es möglich, Reflexion mit LINQ zu Entität zu verwenden?
- 29. Ist es möglich, Sonar Web Reporting-Tool eigenständig zu verwenden?
- 30. ttk.Combobox: Ist es möglich, die Schriftart einzelner Artikel zu ändern?
Es ist nicht wirklich klar, was Sie fragen, aber ich bin fast sicher, die Antwort ist „Ja“. Was versuchst du eigentlich hier zu erreichen? Ihre Anwendung wird vermutlich in Excel VBE geschrieben, kontrolliert dann aber eine PPT-Datei in PowerPoint, oder? Was meinst du mit "Trigger Chart Display"? –
Entschuldigung, dass ich nicht klarer bin. Ich habe ein Diagramm in Powerpoint, das mir die Kapazität von 4 Ressourcen für verschiedene Monate (Jan, Feb usw.) zeigt. Ich brauche Benutzer, um einen bestimmten Monat aus einem Kombinationsfeld Steuerelement auszuwählen, so dass nur Daten zu diesem Monat in meinem Diagramm angezeigt werden. Zum Beispiel: wenn ich Jan aus meinem Kombinationsfeld wähle, sollte das Diagramm die Kapazität der verfügbaren Ressourcen nur für einen Monat anzeigen. – Navya
Haben Sie vor, Ihre Frage mit mehr Details/Klarheit zu bearbeiten? –