Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
4.2 Dynamischer Datenbereich: dynamisches Diagramm, dynamis
Gehe zu Seite Zurück  1, 2
zurück: wirkung auf Regressionskoeffizienten bei Nullpunkt der UV weiter: Regressionsanalyse der Steigungen der Korrelationen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Offen Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
E4M
Excel-Moderator


Verfasst am:
21. Mai 2007, 19:41
Rufname:

AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna - AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna

Nach oben
       

Hallo Gerd,

Zitat:
Der Benutzer sieht ohne VBA den Namen des Charts nicht.

Klick mal mit Strg+linker Maustaste in ein Diagramm, so erscheint links neben
der Befehlszeile der Diagrammname. Mit Linksklick in dieses Feld kann dieser
auch aus Excel heraus abgeändert werden.

Wie gesagt soll der Eingabe- und Ausgabebereich bereits einigermaßen
feststehen bspw. so:
ABCDEFGHI
1xy Ausgabebereich Diagramm
222 3023
346 53,83333333
474 5,666666672,80555556
553
632
796
Formeln der Tabelle
D2 : =SUMME(A2:A7)
E2 : =SUMME(B2:B7)
D3 : =MITTELWERT(A2:A7)
E3 : =MITTELWERT(B2:B7)
D4 : =VARIANZEN(A2:A7)
E4 : =VARIANZEN(B2:B7)
Excel Jeanie Html
Spalten A und B bilden den Eingabe- bzw. Datenbereich, welcher lediglich über die
Anzahl der Datensätze (Zeilen) veränderbar sein soll. Nehmen wir zur
Vereinfachung an, dass der Datenbereich eine Matrix ist ohne Leerzeilen und
Fehlerwerte, so kann dieser dynamisch über einen Namen definiert werden (ohne
VBA möglich). Berechnungen, Formeln, etc. können bspw. in den Spalten D und E
erfolgen, wobei bereits die Formeln eingetragen sind.

Ebenso existiert rechts davon ein Diagramm, in dem eine Regressionsgerade, die
Residuen und die Mittelwerte eingezeichnet werden soll, welche sich dynamisch mit
Änderung der Daten aktualisieren.

Sowohl bei den Formeln als auch bei der Datenquelle des Diagramms kann der
über einen Namen definierte dynamische Datenbereich (der x- und y-Werte)
verwendet werden.

Ist das Problem auf diese Weise gelöst bzw. umgangen worden oder habe ich
Dich nicht verstanden?
Falls doch, so müsste lediglich die Skalierung über VBA angepasst werden, oder?

Grüße

Andy


Zuletzt bearbeitet von E4M am 05. Jun 2007, 12:42, insgesamt einmal bearbeitet
Bamberg
Excel/Access mit VBA


Verfasst am:
21. Mai 2007, 21:43
Rufname: Gerd


AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna - AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna

Nach oben
       

Hallo Andy,

ist ja schon fast mein Skript vom 17. Mai 12:18 gewesen.

Den Bereich Xi und Yi habe ich den Namen "Werte" gegeben.
Sobald sich diese Werte verändern, wird die Skalierung neu ausgegeben.
Vorraussetzung ist jedoch, dass in Zelle A19 der Diagramm-Name eingegeben wurde.

Skript zum Tabellenblatt:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ZielZelle As Range, DiaGr As Chart
   
    'Abfragen, ob sich im Bereich "Werte" eine Änderung ergeben hat
    If Intersect(Target, Range("Werte")) Is Nothing Then Exit Sub
    'Abfragen, ob im Feld A19 der Diagramm-Name befindet
    If Range("A19").Value = "" Then
        MsgBox "Bitte in Feld A19 den Namen des Diagrammes eingeben", , _
               "Fehlermeldung"
        Exit Sub
    End If
    'AusgabeZelle definieren
    Set ZielZelle = ActiveSheet.Range("A20")
    'Chart ansprechen
    On Error Resume Next
    Set DiaGr = ActiveSheet.ChartObjects(CStr(Range("A19").Value)).Chart
    If Err.Number <> 0 Then
        MsgBox "Bitte in Feld A19 den Namen des Diagrammes eingeben", , _
               "Fehlermeldung"
        Exit Sub
    End If
    'Auslesen der Max und Min Y-AchsenSkalierung
    With DiaGr.Axes(xlValue)
        ZielZelle.Value = "Y-Max Skalierung"
        ZielZelle.Offset(0, 1).Value = .MaximumScale
        ZielZelle.Offset(1, 0).Value = "Y-Min Skalierung"
        ZielZelle.Offset(1, 1).Value = .MinimumScale
    End With
    'Auslesen der Max und Min X-AchsenSkalierung
    With DiaGr.Axes(xlCategory)
        ZielZelle.Offset(2, 0).Value = "X-Max Skalierung"
        ZielZelle.Offset(2, 1).Value = .MaximumScale
        ZielZelle.Offset(3, 0).Value = "X-Min Skalierung"
        ZielZelle.Offset(3, 1).Value = .MinimumScale
    End With
    Set ZielZelle = Nothing
    Set DiaGr = Nothing
End Sub

Gruß
Gerd

_________________
NIPSILD = Nicht In Problemen, Sondern In Lösungen Denken
E4M
Excel-Moderator


Verfasst am:
24. Mai 2007, 23:11
Rufname:

AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna - AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna

Nach oben
       

Moin Gerd,

Zitat:
st ja schon fast mein Skript vom 17. Mai 12:18 gewesen.

Ja, (fast) genau!

Habe mal eine kleine Beispiel-Datei zusammengebastelt, wobei Namen
x für X-Werte
y für Y-Werte
und
data für Anzahl Datensätze
definiert und sowohl bei den Formeln als auch für die Datenquelle des Diagramms
verwendet wurden, so dass die (meisten) Formeln und das Diagramm dynamisch sind.

Vielleicht hast Du Lust Dein Makro (nochmals) auf die Datei anzupassen(!?)
Doch wie?

Hier sehe ich 3 Möglichkeiten bzw. Vorschläge:

1. Erster Schritt ist eine einfache Anpassung der Skalierung bei Hinzunahme neuer
Datensätze. Dies kann geschehen, indem die automatische Skalierung wieder
aktiviert wird, die Maxima und Minima der Achsen ausgelesen werden, die
Datenreihen der Mittelwerte daraufhin angepasst werden und die automatische
Skalierung mit diesen Werten wieder manuell skaliert wird.

2. Eine andere Möglichkeit ist über Scrollbars die Skalierung der Achsen
benutzerdefiniert zu steuern. Das Hauptintervall kann hierbei vorerst automatisch
skaliert werden. Problem hierbei wird anscheinend eine zügige Anpassung der
Datenreihen der Mittelwerte sein.

3. Wie bereits erwähnt könnte ein Hinein- und Hinauszoomen aus einem Diagramm
ein netter Effekt sein. Hier könnte der Benutzer einen Punkt (x;y)-Wert
vordefinieren, von welchem dann ein Zoomen bspw. über ein Steuerungselement
ermöglicht wird.

Vielleicht sollten wir uns zunächst der 1. Möglichkeit zuwenden?
Was meinst Du? Hast Du Fragen oder Anregungen hierzu?

Grüße

Andy



4.2 Dynamischer Datenbereich.xls
 Beschreibung:

Download
 Dateiname:  4.2 Dynamischer Datenbereich.xls
 Dateigröße:  33 KB
 Heruntergeladen:  298 mal



Zuletzt bearbeitet von E4M am 05. Jun 2007, 12:42, insgesamt einmal bearbeitet
Bamberg
Excel/Access mit VBA


Verfasst am:
25. Mai 2007, 22:38
Rufname: Gerd

AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna - AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna

Nach oben
       

Hallo Andy,

ich hab' nun von allem ein bischen umgesetzt:

a) Die Skalierung der X- und Y Achse wird in Zellen geschrieben

b) Die dort enthaltenen Werte können manuell verändert werden

c) je Wert gibt es eine Scrollbar, welche in % des aktuellen Wertes einen neuen erzeugt.

d) ein Button setzt die Automatic wieder in Betrieb
(kleines Problem: Durch das Hinzufügen von Mittelwerten erzeugt die Automatic ein größeres KoordinatenKreuz als vorher)

e) eine weitere ScrollBar dient zum Hinein- und Herauszoomen.

Ich hoff' da ist was Passendes dabei. Wenn Du was gefunden hast, kommentiere ich den Code gerne aus.

Gruß
Gerd

_________________
NIPSILD = Nicht In Problemen, Sondern In Lösungen Denken



Dynamischer_Datenbereich.xls
 Beschreibung:

Download
 Dateiname:  Dynamischer_Datenbereich.xls
 Dateigröße:  71 KB
 Heruntergeladen:  189 mal

E4M
Excel-Moderator


Verfasst am:
29. Mai 2007, 15:33
Rufname:


AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna - AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna

Nach oben
       

Moin Gerd,

das sieht ja super aus!

Gerne möchte ich die einzelnen Möglichkeiten getrennt betrachten, so dass
ich bei (1.) der automatischen Anpassung schon ein wenig herumprobiert habe.

Stehe jedoch vor folgendem Problem:
Wenn ich die Werte der Skalierung auslese mit
Code:
    With DiaGr
        XMax = .Axes(xlValue).MaximumScale
        XMin = .Axes(xlValue).MinimumScale
        YMax = .Axes(xlCategory).MaximumScale
        YMin = .Axes(xlCategory).MinimumScale
    End With
schaffe ich es nicht eine Datenreihe auf diese Werte zu ändern:
Code:
    ...
    ActiveChart.SeriesCollection(3).XValues = "={XMin,XMax}"
    ...
Ich versuche also (bei einer Änderung der Daten) die Werte der Skalierung
auszulesen und daraufhin die X- (bzw.Y-)Werte der 3. (bzw. 2.) Datenreihe
anzupassen, ohne dass diese Werte in eine Zelle übergeben werden.

Weißt Du Rat?

Grüße

Andy


Zuletzt bearbeitet von E4M am 05. Jun 2007, 12:43, insgesamt einmal bearbeitet
Bamberg
Excel/Access mit VBA


Verfasst am:
29. Mai 2007, 16:04
Rufname: Gerd

AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna - AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna

Nach oben
       

Hallo Andy,

ich geh mal davon aus, dass Excel in Deiner Formel nur einen String akzeptiert.

Daher besser so:
Code:
    ActiveChart.SeriesCollection(3).XValues = "={" & XMin & "," & XMax & "}"

Gruß
Gerd

_________________
NIPSILD = Nicht In Problemen, Sondern In Lösungen Denken
E4M
Excel-Moderator


Verfasst am:
01. Jun 2007, 18:11
Rufname:

AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna - AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna

Nach oben
       

Moin Gerd,

danke für Deine Antwort!

Möchte Dich gerne noch einmal um Hilfe fragen, da ich
mit der Nomenklatur an dieser Stelle nicht weiterkomme:
Code:
    Dim mean_x As Double, mean_y As Double

    '...
    mean_y = Application.WorksheetFunction.Average(Range("y"))
    '...
    ActiveChart.SeriesCollection(2).XValues = "={" & mean_x & "," & mean_y & "}"
Die Werte werden zwar übergeben, aber die (Dezimal-)Zahl (bspw. 10,6) erscheint
mit englischer Interpunktion (10.6) in der Datenreihe und wird daher als zwei Zahlen
interpretiert. Also statt 2 Werte ={10,6.10,6} ergeben sich 4 Werte ={10.6.10.6}.

Grüße

Andy


Zuletzt bearbeitet von E4M am 05. Jun 2007, 12:43, insgesamt einmal bearbeitet
Bamberg
Excel/Access mit VBA


Verfasst am:
01. Jun 2007, 19:22
Rufname: Gerd

AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna - AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna

Nach oben
       

Hallo Andy,

jo ... das ist immer das Problem mit dem deutschen Excel und dem englischen VBA.

Hierfür eignet sich gut die Replace-Anweisung:
Code:
    ActiveChart.SeriesCollection(2).XValues = "={" & Replace(CStr(mean_y),".",",") & "," & Replace(CStr(mean_x),".",",") & "}"

Gruß
Gerd

_________________
NIPSILD = Nicht In Problemen, Sondern In Lösungen Denken
Willi Wipp
Moderator


Verfasst am:
01. Jun 2007, 21:53
Rufname:
Wohnort: Raum Wiesbaden

AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna - AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna

Nach oben
       

Hi Ihr Zwei,

ich bin mir bei Excel nicht sicher Wink aber in Access reicht es Str zu verwenden Smile

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
E4M
Excel-Moderator


Verfasst am:
02. Jun 2007, 10:50
Rufname:

AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna - AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna

Nach oben
       

Hallo zusammen,

Str habe ich (noch) nicht verwendet, dafür aber die Replace-Anweisung, wobei die
Daten jedoch nur dann richtig in die Datenreihe übernommen werden, wenn Komma
durch Punkt ersetzt wird(?).

Wie auch immer - hänge mal mein VBA-Gekritzel zur Autoanpassung an.
Probleme können im Abschnitt der Datenreihenlöschung entstehen, wenn
diese nicht mit Werten gefüllt sind. Generell darf gerne der Rotstift angesetzt
werden.

Verbessern könnte man hier noch den Eingabebereich (evtl. VBA-isieren,
indem bspw. der Index automatisch erstellt wird, mit dem Verhalten ähnlich
wie in Access). Ferner bin ich noch unschlüssig was mit den Residuen geschehen
soll.

Grüße

Andy



Dynamischer_Datenbereich.xls
 Beschreibung:

Download
 Dateiname:  Dynamischer_Datenbereich.xls
 Dateigröße:  45 KB
 Heruntergeladen:  122 mal



Zuletzt bearbeitet von E4M am 05. Jun 2007, 12:44, insgesamt einmal bearbeitet
Bamberg
Excel/Access mit VBA


Verfasst am:
02. Jun 2007, 15:39
Rufname: Gerd

AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna - AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna

Nach oben
       

Hallo Andy,

ich war mal so frei und hab' den Code etwas an den neuesten Standard angepasst.

Andy, tztztz ... Select und Activate gehört doch nicht in einen VBA Code ..... Wink

Ausserdem hab' ich noch einen ErrorHandler eingebaut. (Sicher ist Sicher!)

Zitat:
Verbessern könnte man hier noch den Eingabebereich (evtl. VBA-isieren,
indem bspw. der Index automatisch erstellt wird, mit dem Verhalten ähnlich
wie in Access)
Da hab' nun ich wieder meine Lücken. Ich kenn zwar Access gut und auch die Indiziierung jedoch versteh' ich noch nicht Dein Vorhaben! Wie sollte dies in Excel aussehen?

Gruß
Gerd

_________________
NIPSILD = Nicht In Problemen, Sondern In Lösungen Denken



Dynamischer_Datenbereich3.xls
 Beschreibung:

Download
 Dateiname:  Dynamischer_Datenbereich3.xls
 Dateigröße:  35 KB
 Heruntergeladen:  117 mal

Willi Wipp
Moderator


Verfasst am:
03. Jun 2007, 00:14
Rufname:
Wohnort: Raum Wiesbaden

AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna - AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna

Nach oben
       

Hi Ihr Zwei,

ich meinte es so
Code:
            .SeriesCollection(2).XValues = "={" & Str(mean_x) & "," & _
                                                  Str(mean_x) & "}"
            .SeriesCollection(2).Values = "={" & Str(min_x) & "," & _
                                                 Str(max_x) & "}"
            .SeriesCollection(3).XValues = "={" & Str(min_y) & "," & _
                                                  Str(max_y) & "}"
            .SeriesCollection(3).Values = "={" & Str(mean_y) & "," & _
                                                 Str(mean_y) & "}"
AndyRhandy in Deutschland: Komma = Dezimalzeichen ==> Semikolon = Wertrennzeichen
In VBA (Englisch): Punkt = Dezimalzeichen ==> Komma = Wertrennzeichen

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)



Dynamischer_Datenbereich3.zip
 Beschreibung:

Download
 Dateiname:  Dynamischer_Datenbereich3.zip
 Dateigröße:  13.28 KB
 Heruntergeladen:  131 mal

E4M
Excel-Moderator


Verfasst am:
06. Jun 2007, 11:31
Rufname:

AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna - AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna

Nach oben
       

Hallo zusammen,

danke für Eure Antworten!
Da mich die Eingabe der Daten in Excel etwas stört, soll diese als Erstes verbessert werden:

Um eindeutige Datensätze zu erhalten, läuft in Access bei der Dateneingabe einer
Tabelle ein Index mit (ID), sofern kein Primärschlüssel vergeben wurde.
Eine neue ID-Nummer wird dann (automatisch) vergeben, wenn die Eingabe eines
Datensatzes beendet ist.

Vielleicht lässt sich dies in Excel mit dem Index i ähnlich umsetzen - evtl. mit einem
Eingabeformular. Eine Berechnung der Residuen betrachten wir vorerst nicht (=Ausgabe).

Eine Alternative ist es, dies mit Hilfe von Excel-Formeln und Gültigkeitsprüfungen,
umzusetzen; "Nachteile" sind dann aber, dass die Indexspalte komplett mit
Formeln belegt ist, da die Anzahl der Datensätze im vorhinein nicht bekannt ist,
und eben dass kein VBA verwendet wird Wink .

Ziel ist es eine möglichst angenehme Dateneingabe in Excel zu ermöglichen, d.h.
Anzahl und Namen der Variablen definieren, nach Beendigung der Eingabe eines
Datensatzes in neue Zeile erste (Variablen-)Spalte springen und Index-Nummer
vergeben sowie eine Gültigkeitsprüfung durchzuführen (Eingabe=ISTZAHL;
vollständiger Datensatz?).

Vielleicht hat jemand von Euch ein paar gute Ideen hierzu!?

Viele Grüße

Andy
Bamberg
Excel/Access mit VBA


Verfasst am:
17. Jun 2007, 20:21
Rufname: Gerd


AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna - AW: 4.2 Dynamischer Datenbereich: dynamisches Diagramm, dyna

Nach oben
       

Hallo Andy,

mal als Ansatz anhängende Datei.

Durch das Select-Ereignis wird eine Userform aufgerufen.

Mein Gedanke: Sobald der Benutzer eine neue Zeile zu seinen Daten eingeben möchte, klickt er auf die nächste leere Zeile. Dies fangen wir ab und öffnen eine Userform für die Eingaben der Daten.
Sollte keine leere Zelle angeklickt werden, sondern im Datenbereich bereits vorhandene Daten verändert werden, kann dies darüber natürlich auch gesteuert werden.

Hier mal die Datei. (Klick mal auf z.B. A1)

Gruß
Gerd

_________________
NIPSILD = Nicht In Problemen, Sondern In Lösungen Denken



Mappe1.xls
 Beschreibung:

Download
 Dateiname:  Mappe1.xls
 Dateigröße:  21.5 KB
 Heruntergeladen:  184 mal

Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite Zurück  1, 2
Diese Seite Freunden empfehlen

Seite 2 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Workshop: Regressionsanalyse: 4.1 Fehlende Werte im Datenbereich: Einfluss von leeren Zell 11 RajHid 8757 28. Okt 2007, 11:43
E4M 4.1 Fehlende Werte im Datenbereich: Einfluss von leeren Zell
Keine neuen Beiträge Workshop: Regressionsanalyse: 5.2.1 Formeln für das Excel Add-In "Regression" li 0 E4M 15949 13. Jul 2007, 10:06
E4M 5.2.1 Formeln für das Excel Add-In "Regression" li
Keine neuen Beiträge Workshop: Regressionsanalyse: 2.2 Zur Darstellung der Mittelwerte 4 E4M 7263 10. Mai 2007, 15:06
E4M 2.2 Zur Darstellung der Mittelwerte
Keine neuen Beiträge Workshop: Regressionsanalyse: 2.2 Zur Darstellung der Residuen 0 E4M 5860 08. Mai 2007, 23:55
E4M 2.2 Zur Darstellung der Residuen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: PHP Forum