wie ist es möglich bei einer Datenreihe in einem x/y Diagramm die Bereichsangabe extern anzugeben?
z.B. =DATENREIHE('DUT View'!$F$10;'DUT View'!$E$68:$E$124;'DUT View'!$F$68:$F$124;2)
Gerne würde ich in den Zellen folgendes vorgeben: x-Achsen Bereich: A1: E A2: 68 A3 124 y-Achsen Bereich: B1: F B2: 68 B3 124
Mit bereich.verschieben möchte ich es nicht lösen. Ich würde gerne die o.g. Formel der Datenreihe manipulieren das es sich den Bereich von den Zellen A1,2,3 und B1,2,3 zusammenstellt.
das ginge mit VBA. Geht das für dich in Ordnung? Aber warum willst du die Zeilengrenzen zweimal eingeben?
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
in der Anlage einmal ein Beispiel. Und hier noch einige Bemerkungen.
1. Da du die Spalte der Y-Werte variable halten möchtest, sollte auch die Zeile des Namens erfasst werden um auch diesen anpassen zu können. 2. Da ich ungern mit festen Adressen im Programm arbeite, habe ich den fünf Zellen einen Namen ("Liste") gegeben. 3. Den Namen deines Diagramms siehst du, wenn du das Diagramm anklickst, links in der Bearbeitungszeile. 4. Ich habe den code in das Ereignis "Worksheet_Change" eingebunden. Nur wenn sich einer der fünf Zellen ändert wird das Diagramm angepasst.
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range) Dim rngListe As Range Dim varListe() As Variant
Set rngListe = ThisWorkbook.Names("Liste").RefersToRange
If Not (Intersect(Target, rngListe) Is Nothing) Then varListe = rngListe.Value ActiveSheet.ChartObjects("Diagramm 1").Activate ActiveChart.FullSeriesCollection(1).Select Selection.XValues = ActiveSheet.Range(varListe(1, 1) & varListe(4, 1) & ":" & varListe(1, 1) & varListe(5, 1)) Selection.Values = ActiveSheet.Range(varListe(2, 1) & varListe(4, 1) & ":" & varListe(2, 1) & varListe(5, 1)) Selection.Name = ActiveSheet.Range(varListe(2, 1) & varListe(3, 1)) End If
End Sub
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
da der Fehler bei mit nicht auftritt, kann ich dir die Frage nicht beantworten.
Hast du schon etwas an der Datei geändert? Trat der Fehler bei der ersten Änderung einer der fünf Zellen auf?
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
in der Anlage einmal eine Version ohne ".Activate" und ".Select".
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.