Freigeben über


Exemplarische Vorgehensweise: Aktualisieren eines Diagramms in einem Arbeitsblatt mithilfe von Optionsfeldern

In dieser exemplarischen Vorgehensweise werden die Grundlagen der Verwendung von Optionsfeldern in einem Microsoft Office Excel-Arbeitsblatt erläutert, um dem Benutzer ein rasches Wechseln zwischen Optionen zu ermöglichen. In diesem Fall ändern die Optionen das Format dieses Diagramms.

Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Dokumentebene für Excel 2007 und Excel 2010. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.

Das Ergebnis in einem vollständigen Beispiel finden Sie in dem Beispiel für Excel-Steuerelemente unter Beispiele und exemplarische Vorgehensweisen für die Programmierung mit Office.

In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:

  • Hinzufügen einer Gruppe von Optionsfeldern zu einem Arbeitsblatt.

  • Ändern des Diagrammformats beim Auswählen einer Option.

Tipp

Auf Ihrem Computer werden möglicherweise andere Namen oder Speicherorte für die Benutzeroberflächenelemente von Visual Studio angezeigt als die in den folgenden Anweisungen aufgeführten. Die von Ihnen verwendete Visual Studio-Edition und die Einstellungen legen diese Elemente fest. Weitere Informationen finden Sie unter Arbeiten mit Einstellungen.

Vorbereitungsmaßnahmen

Zum Durchführen dieser exemplarischen Vorgehensweise benötigen Sie die folgenden Komponenten:

-

Eine Version von Visual Studio 2010, die die Microsoft Office-Entwicklungstools einschließt. Weitere Informationen finden Sie unter [Konfigurieren eines Computers zum Entwickeln von Office-Lösungen](bb398242\(v=vs.100\).md).
  • Microsoft Office Excel 2007 oder Excel 2010.

Hinzufügen eines Diagramms zu einem Arbeitsblatt

Sie können ein Excel-Arbeitsmappenprojekt erstellen, das eine vorhandene Arbeitsmappe anpasst. In dieser exemplarischen Vorgehensweise fügen Sie einer Arbeitsmappe ein Diagramm hinzu und verwenden die Arbeitsmappe anschließend in einer neuen Excel-Projektmappe. Die Datenquelle in dieser exemplarischen Vorgehensweise ist das Arbeitsblatt Daten für Diagramm.

So fügen Sie die Daten hinzu

  1. Öffnen Sie Microsoft Excel.

  2. Klicken Sie mit der rechten Maustaste auf die Registerkarte Tabelle3, und klicken Sie dann im Kontextmenü auf Umbenennen.

  3. Benennen Sie die Tabelle in Daten für Diagramm um.

  4. Fügen Sie die folgenden Daten in Daten für Diagramm ein, wobei Zelle A4 die obere linke Ecke und Zelle E8 die untere rechte Ecke ist.

    Q1

    Q2

    Q3

    Q4

    Westen

    500

    550

    550

    600

    Osten

    600

    625

    675

    700

    Norden

    450

    470

    490

    510

    Süden

    800

    750

    775

    790

Fügen Sie im nächsten Schritt dem ersten Arbeitsblatt ein Diagramm hinzu, um die Daten anzuzeigen.

So fügen Sie ein Diagramm in Excel hinzu

  1. Klicken Sie auf der Registerkarte Einfügen in der Gruppe Diagramme auf Spalte und anschließend auf Alle Diagrammtypen.

  2. Klicken Sie im Dialogfeld Diagramm einfügen auf OK.

  3. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Daten auf Daten auswählen.

  4. Klicken Sie im Dialogfeld Datenquelle auswählen in das Feld Diagramm Datenbereich, und deaktivieren Sie alle Standardeinstellungen.

  5. Wählen Sie im Blatt Daten für Diagramm den Block von Zellen mit den Zahlen aus, der sich von A4 oben links bis E8 unten rechts erstreckt.

  6. Klicken Sie im Dialogfeld Datenquelle auswählen auf OK.

  7. Positionieren Sie das Diagramm neu, sodass die obere rechte Ecke an Zelle E2 ausgerichtet ist.

  8. Speichern Sie die Datei auf Laufwerk C:, und weisen Sie ihr den Namen ExcelChart.xls zu.

  9. Beenden Sie Excel.

Erstellen eines neuen Projekts

In diesem Schritt erstellen Sie basierend auf der Arbeitsmappe ExcelChart ein Excel-Arbeitsmappenprojekt.

So erstellen Sie ein neues Projekt

  1. Erstellen ein Excel-Arbeitsmappenprojekt mit dem Namen Mein Excel-Diagramm. Wählen Sie im Assistenten Vorhandenes Dokument kopieren.

    Weitere Informationen finden Sie unter Gewusst wie: Erstellen von Office-Projekten in Visual Studio.

  2. Klicken Sie auf die Schaltfläche Durchsuchen, und wechseln Sie zu der Arbeitsmappe, die Sie an früherer Stelle in dieser exemplarischen Vorgehensweise erstellt haben.

  3. Klicken Sie auf OK.

    In Visual Studio wird eine neue Excel-Arbeitsmappe im Designer geöffnet, und im Projektmappen-Explorer wird das Projekt Mein Excel-Diagramm hinzugefügt.

Festlegen von Eigenschaften des Diagramms

Wenn Sie mithilfe einer vorhandenen Arbeitsmappe ein neues Excel-Arbeitsmappenprojekt erstellen, werden für alle in der Arbeitsmappe vorhandenen benannten Bereiche, Listenobjekte und Diagramme automatisch Hoststeuerelemente erstellt. Sie können den Namen des Chart-Steuerelements mithilfe des Fensters Eigenschaften ändern.

So ändern Sie den Namen des Chart-Steuerelements

  • Wählen Sie das Chart-Steuerelement im Designer aus, und ändern Sie im Fenster Eigenschaften die folgenden Eigenschaften.

    Eigenschaft

    Wert

    Name

    dataChart

    HasLegend

    false

Hinzufügen von Steuerelementen

In diesem Arbeitsblatt ermöglichen Optionsfelder eine rasche Änderung des Diagrammstils. Allerdings müssen Optionsfelder exklusiv sein – beim Klicken auf eine Schaltfläche kann nicht gleichzeitig auf eine andere Schaltfläche in der Gruppe geklickt werden. Dieses Verhalten entspricht nicht dem Standardverhalten beim Hinzufügen mehrerer Optionsfelder zu einem Arbeitsblatt.

Eine Methode zum Hinzufügen dieses Verhaltens besteht darin, die Optionsfelder auf einem Benutzersteuerelement zu gruppieren, den Code hinter das Benutzersteuerelement zu schreiben und anschließend dem Arbeitsblatt das Benutzersteuerelement hinzuzufügen.

So fügen Sie ein Benutzersteuerelement hinzu

  1. Wählen Sie das Projekt Mein Excel-Diagramm im Projektmappen-Explorer aus.

  2. Klicken Sie im Menü Projekt auf Neues Element hinzufügen.

  3. Klicken Sie im Dialogfeld Neues Element hinzufügen auf Benutzersteuerelement, weisen Sie dem Steuerelement den Namen ChartOptions zu, und klicken Sie auf Hinzufügen.

So fügen Sie dem Benutzersteuerelement Optionsfelder hinzu

  1. Wenn das Benutzersteuerelement im Designer nicht sichtbar ist, doppelklicken Sie im Projektmappen-Explorer auf ChartOptions.

  2. Ziehen Sie von der Registerkarte Allgemeine Steuerelemente der Toolbox ein Optionsfeld-Steuerelement auf das Benutzersteuerelement, und ändern Sie folgende Eigenschaften.

    Eigenschaft

    Wert

    Name

    columnChart

    Text

    Column Chart

  3. Fügen Sie dem Benutzersteuerelement ein zweites Optionsfeld hinzu, und ändern Sie die folgenden Eigenschaften.

    Eigenschaft

    Wert

    Name

    barChart

    Text

    Bar Chart

  4. Fügen Sie dem Benutzersteuerelement ein drittes Optionsfeld hinzu, und ändern Sie die folgenden Eigenschaften.

    Eigenschaft

    Wert

    Name

    lineChart

    Text

    Line Chart

  5. Fügen Sie dem Benutzersteuerelement ein viertes Optionsfeld hinzu, und ändern Sie die folgenden Eigenschaften.

    Eigenschaft

    Wert

    Name

    areaBlockChart

    Text

    Area Block Chart

Schreiben Sie anschließend den Code, durch den das Diagramm beim Klicken auf ein Optionsfeld aktualisiert wird.

Ändern des Diagrammstils beim Auswählen eines Optionsfelds

Nun kann der Code zum Ändern des Diagrammstils hinzugefügt werden. Erstellen Sie dazu ein öffentliches Ereignis für das Benutzersteuerelement, fügen Sie eine Eigenschaft hinzu, um den Auswahltyp festzulegen, und erstellen Sie einen Ereignishandler für das CheckedChanged-Ereignis jedes Optionsfelds.

So erstellen Sie ein Ereignis und eine Eigenschaft für ein Benutzersteuerelement

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Benutzersteuerelement, und klicken Sie dann auf Code anzeigen.

  2. Fügen Sie der ChartOptions-Klasse Code hinzu, um ein SelectionChanged-Ereignis und die Selection-Eigenschaft zu erstellen.

    Public Event SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
    
    Private selectedType As Microsoft.Office.Interop.Excel.XlChartType = _
        Microsoft.Office.Interop.Excel.XlChartType.xlColumnClustered
    
    Public Property Selection() As Microsoft.Office.Interop.Excel.XlChartType
        Get
            Return Me.selectedType
        End Get
        Set(ByVal value As Microsoft.Office.Interop.Excel.XlChartType)
            Me.selectedType = value
        End Set
    End Property
    
    public event EventHandler SelectionChanged;
    
    private Microsoft.Office.Interop.Excel.XlChartType selectedType =
        Microsoft.Office.Interop.Excel.XlChartType.xlColumnClustered;
    
    public Microsoft.Office.Interop.Excel.XlChartType Selection
    {
        get
        {
            return this.selectedType;
        }
        set
        {
            this.selectedType = value;
        }
    }
    

So behandeln Sie das CheckedChanged-Ereignis der Optionsfelder

  1. Legen Sie den Diagrammtyp im CheckedChanged-Ereignishandler des Optionsfelds areaBlockChart fest, und lösen Sie anschließend das Ereignis aus.

    Private Sub areaBlockChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles areaBlockChart.CheckedChanged
    
        If (CType(sender, RadioButton).Checked) Then
    
            Me.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlAreaStacked
            RaiseEvent SelectionChanged(Me, EventArgs.Empty)
        End If
    End Sub
    
    private void areaBlockChart_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
        {
            this.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlAreaStacked;
            if (this.SelectionChanged != null)
            {
                this.SelectionChanged(this, EventArgs.Empty);
            }
        }
    }
    
  2. Legen Sie den Diagrammtyp im CheckedChanged-Ereignishandler des Optionsfelds barChart fest.

    Private Sub barChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles barChart.CheckedChanged
    
        If (CType(sender, RadioButton).Checked) Then
    
            Me.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlBarClustered
            RaiseEvent SelectionChanged(Me, EventArgs.Empty)
        End If
    End Sub
    
    private void barChart_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
        {
            this.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlBarClustered;
            if (this.SelectionChanged != null)
            {
                this.SelectionChanged(this, EventArgs.Empty);
            }
        }
    }
    
  3. Legen Sie den Diagrammtyp im CheckedChanged-Ereignishandler des Optionsfelds columnChart fest.

    Private Sub columnChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles columnChart.CheckedChanged
    
        If (CType(sender, RadioButton).Checked) Then
    
            Me.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlColumnClustered
            RaiseEvent SelectionChanged(Me, EventArgs.Empty)
        End If
    End Sub
    
    private void columnChart_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
        {
            this.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlColumnClustered;
            if (this.SelectionChanged != null)
            {
                this.SelectionChanged(this, EventArgs.Empty);
            }
        }
    }
    
  4. Legen Sie den Diagrammtyp im CheckedChanged-Ereignishandler des Optionsfelds lineChart fest.

    Private Sub lineChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles lineChart.CheckedChanged
    
        If (CType(sender, RadioButton).Checked) Then
    
            Me.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlLineMarkers
            RaiseEvent SelectionChanged(Me, EventArgs.Empty)
        End If
    End Sub
    
    private void lineChart_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
        {
            this.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlLineMarkers;
            if (this.SelectionChanged != null)
            {
                this.SelectionChanged(this, EventArgs.Empty);
            }
        }
    }
    
  5. In C# müssen Sie Ereignishandler für die Optionsfelder hinzufügen. Sie können den Code zum ChartOptions-Konstruktor hinzufügen, unterhalb des Aufrufs von InitializeComponent. Informationen zum Erstellen von Ereignishandlern finden Sie unter Gewusst wie: Erstellen von Ereignishandlern in Office-Projekten.

    public ChartOptions()
    {
        InitializeComponent();
    
        areaBlockChart.CheckedChanged += new EventHandler(areaBlockChart_CheckedChanged);
        barChart.CheckedChanged += new EventHandler(barChart_CheckedChanged);
        columnChart.CheckedChanged += new EventHandler(columnChart_CheckedChanged);
        lineChart.CheckedChanged += new EventHandler(lineChart_CheckedChanged);
    }
    

Hinzufügen des Benutzersteuerelements zum Arbeitsblatt

Beim Erstellen der Projektmappe wird das neue Benutzersteuerelement der Toolbox automatisch hinzugefügt. Dann können Sie das Steuerelement von der Toolbox auf das Arbeitsblatt ziehen.

So fügen Sie dem Arbeitsblatt das Benutzersteuerelement hinzu

  1. Klicken Sie im Menü Erstellen auf Projektmappe erstellen.

    Der Toolbox wird das ChartOptions-Benutzersteuerelement hinzugefügt.

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Sheet1.vb oder Sheet1.cs, und klicken Sie anschließend auf Ansicht-Designer.

  3. Ziehen Sie das ChartOptions-Steuerelement aus der Toolbox auf das Arbeitsblatt.

    Das neue Steuerelement my_Excel_Chart_ChartOptions1 wird dem Projekt hinzugefügt.

  4. Geben Sie dem Steuerelement den neuen Namen ChartOptions1.

Ändern des Diagrammtyps

Erstellen Sie zum Ändern des Diagrammtyps einen Ereignishandler, mit dem der Stil entsprechend der im Benutzersteuerelement ausgewählten Option geändert wird.

So ändern Sie den Diagrammtyp, der im Arbeitsblatt angezeigt wird

  1. Fügen Sie der Sheet1-Klasse den folgenden Ereignishandler hinzu.

    Private Sub ChartOptions1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles ChartOptions1.SelectionChanged
    
        Try
            dataChart.ChartType = Me.ChartOptions1.Selection
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
    
    private void ChartOptions1_SelectionChanged(object sender, EventArgs e)
    {
        try
        {
            dataChart.ChartType = this.ChartOptions1.Selection;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }
    
  2. In C# müssen Sie dem Startup-Ereignis einen Ereignishandler für das Benutzersteuerelement hinzufügen, wie im Folgenden dargestellt. Informationen zum Erstellen von Ereignishandlern finden Sie unter Gewusst wie: Erstellen von Ereignishandlern in Office-Projekten.

    this.ChartOptions1.SelectionChanged += new EventHandler(ChartOptions1_SelectionChanged);
    

Testen der Anwendung

Sie können die Arbeitsmappe jetzt testen, um sicherzustellen, dass das Diagramm beim Auswählen eines Optionsfelds richtig formatiert wird.

So testen Sie die Arbeitsmappe

  1. Drücken Sie F5, um das Projekt auszuführen.

  2. Wählen Sie verschiedene Optionsfelder aus.

  3. Überprüfen Sie, ob der Diagrammstil entsprechend der Auswahl geändert wurde.

Nächste Schritte

In dieser exemplarischen Vorgehensweise werden die Grundlagen der Verwendung von Optionsfeldern und Diagrammstilen in Arbeitsblättern erläutert. Die folgenden Aufgaben könnten sich daran anschließen:

Siehe auch

Konzepte

Exemplarische Vorgehensweisen in Excel