Office: Benutzerdefinierte Trendlinie über bestimmte Abschnitte

Helfe beim Thema Benutzerdefinierte Trendlinie über bestimmte Abschnitte in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Noch ein Tipp am Rande: am Beginn deines Code schaltest du die automatische Berechnung aus: Code: Application.Calculation = xlCalculationManual Das... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von CobaltBlau, 10. Januar 2020.

  1. Beverly
    Beverly Erfahrener User

    Benutzerdefinierte Trendlinie über bestimmte Abschnitte


    Noch ein Tipp am Rande: am Beginn deines Code schaltest du die automatische Berechnung aus:

    Code:
    Das ist prinzipiell ok, weil sonst jede Veränderung im Tabellenblatt eine Neuberechnung auslösen könnte und dadurch die Bearbeitung verlangsamen würde - und jetzt das "Aber": was passiert, wenn ein Bearbeiter mit Absicht in seinem Excel bereits die manuelle Bearbeitung (aus was für Gründen auch immer) aktiviert hat? Am Ende schaltest du ja die automatische Berechnung wieder ein - was passiert bei diesem Bearbeiter? Er wundert sich, weshalb plötzlich wieder alles automatisch berechnet wird und er sie von Hand wieder auf manuell umschalten muss - das ist ein Eingriff in die Gepflogenheiten des Bearbeiters, den man als Programmierer vernünftigerweise nicht tun sollte. Aus diesem Grund ist es besser, wenn man zu Beginn erst einmal ermittelt, welche Bearbeitungsweise eingestellt ist und sie erst danach auf manuell stellt, seinen Code ablaufen lässt und am Ende den Urzustand wieder herstellt - das kann man realisieren, in dem man den Urzustand auf eine Variable schreibt, also nach diesem Prinzip:

    Code:
     
    Beverly, 16. Januar 2020
    #31
  2. Hallo Karin,

    die Einstellung 'Application.ScreenUpdating = False' wird nach dem Ende des Makros von Excel automatisch wieder auf 'True' gestellt,
    Application.Calculation dagegen nicht.
    Deswegen sind Deine Hinweise zu dieser Einstellung total richtig, was aber fehlt ist die Neuberechnung der Tabellen, die im Rahmen des Makros Änderungen erfahren haben:
    Worksheets("Tabelle1").Calculate
    Worksheets("Tabelle1").Calculate
    usw. oder Code:
    Der User muß schon die aktualisierten Daten auch auf dem Monitor sehen, selbst wenn er/sie die Neuberechnung selbst abgeschalten hat und nach dem Makro diese Einstellung erhalten bleibt.

    Gruß von Luschi
    aus klein-Paris
     
  3. Danke für die Tipps!

    Ich hab das Tool zum Laufen gebracht, die Frage ist zwar, ob die von mir angewandte Methode richtig ist, aber das soll mein Betreuer entscheiden *Smilie

    Nochmal vielen Dank!
     
    CobaltBlau, 18. Januar 2020
    #33
  4. Benutzerdefinierte Trendlinie über bestimmte Abschnitte

    Eine Frage hätte ich noch und zwar hab ich eine Solver-Routine über die Makro-Aufnahme in VBA übernommen, die wird mir so angezeigt:
    Code:
    Ich will das Makro über eine Schaltfläche von einem anderen Tabellenblatt aus starten. Muss ich, damit es fachlich richtig ist, noch irgendas vor die Zellbezeichnung setzten? Ich kenn mich mit den Bezeichnungen leider gar nicht aus, ist sowas wie range oder so nötig?

    Danke schonmal!
     
    CobaltBlau, 20. Januar 2020
    #34
  5. Beverly
    Beverly Erfahrener User
    Wir hatten doch festgestellt, dass der Solver nur funktioniert, wenn man sich auf dem aktuellen Tabellenblatt befindet - in diesem Fall musst du es so machen wie in dem Code weiter oben: zuerst das betreffende Tabellenblatt aktivieren, Solver ausführen und dann wieder zurück zum Ausgangstabellenblatt. Dann muss nichts geändert/ergänzt werden.
     
    Beverly, 20. Januar 2020
    #35
  6. ok, also wenn mein Solver auf WS9 läuft, ich ihn aber von nem anderen ws aktivier, schreib ich oben ws9.activate und dann passt die Sache?
     
    CobaltBlau, 20. Januar 2020
    #36
  7. Hallo,

    ich habe da eine ganz andere Frage (rein aus Interesse, weil ich selbst nicht auf die Idee käme):
    Ich habe erwartet, dass du die Summe der Fehlerquadrate
    also Summe über i von (y_i - yy_i)^2
    (wobei y_i die Messwerte sind und yy_i die approximierten Werte)
    minimierst. Ich habe mir deinen Solver nicht angesehen, doch aus den Formeln lese ich, dass du die Summe
    ((yy_i - y_i)/y_i)^2
    minimierst. Du normierst quasi jeden einzelnen Summanden. Warum machst du das? Hat das einen speziellen Sinn?
    Du kannst mir gerne auch eine Quelle/Link geben, dann musst du nicht so viel schreiben :-) (englisch ist kein Problem).

    Vielen Dank im Voraus und viele Grüße,
    Ulrich
     
    losgehts, 20. Januar 2020
    #37
  8. Benutzerdefinierte Trendlinie über bestimmte Abschnitte

    Hey,
    nee, das war ein Fehler, den ich später korrigiert hab. Keine Ahnung, wie das da rein gerutscht ist *wink.gif*
    Ich meine, es in irgendeinem Youtube-Video gesehen zu haben, kann dir aber wirklich nicht mehr sagen, in welchem.
    Man sollte halt nicht nachts um 3 verzweifelt in Excel rumwurschteln^^

    Das Ganze Blatt hat am Anfang noch nicht so wirklich gestimmt, ich glaub, ich hatte auch meine x-Werte für die geschätzten Werte falsch ausgewählt.
     
    CobaltBlau, 20. Januar 2020
    #38
  9. Hallo,

    vielen Dank für deine ehrliche Antwort! Solche Probleme kenne ich :-)...


    Zu deiner Frage mit dem aktivieren: im Prinzip ja.
    Warum schreibe ich nur "im Prinzip"? Ganz einfach: auch ich habe den Solver noch nie in Verbindung mit VBA benutzt, also keine Erfahrung.

    Wenn das noch dein Solver-Code ist:
    Code:
    Dann darf da natürlich nicht WS2.Range(... stehen, sondern es muss auf das richtige Worksheet verwiesen werden. Am einfachsten geht das so:
    Code:
    Das With WS2 bewirkt, dass alles, was vor dem Punkt nichts hat (z.B. SetCell:=.Range(...), also hier der Range sich auf WS2 bezieht.


    Solltest du jetzt anfangen, das für mehrere Tabellenblätter zu kopieren, dann würde ich es in eine eigene Sub auslagern:
    Code:
    Und so könntest du das dann aufrufen:
    Code:
    Grüße, Ulrich
     
    losgehts, 20. Januar 2020
    #39
  10. Beverly
    Beverly Erfahrener User
    Hi Ullrich,

    wenn das Tabellenblatt das aktive ist - und du aktivierst es schließlich ebenfalls - dann kannst du auch jeglichen With-Bezug zum Tabellenblatt weglassen, denn alle Zellangaben ohne Tabellenbezug beziehen sich immer auf das aktuelle Tabellenblatt.
     
    Beverly, 20. Januar 2020
    #40
  11. Hallo Karin,

    das stimmt natürlich, würde ich aber niemals machen und schon gar nicht in einem Forum empfehlen:
    Beim Lesen des Codes sieht man sofort, auf welches Tabellenblatt sich der Code bezieht, denn es steht einfach da - auch in einem Jahr noch. Man muss nicht default-Werte assoziieren. Ein Anfänger wird also mit der Nase darauf gestoßen.
    Auch für Fortgeschrittene halte ich es für sinnvoll und handhabe das in meinen eigenen Codes auch so.
    Kopiert man einen gut referenzierten Code in ein anderes Projekt, oder ändert man ihn nach einigen Jahren, so wird man nahezu gezwungen, ihn auf das richtige Tabellenblatt loszulassen - einfach schon durch das überfliegen.
    Als Anfänger habe ich mir regelmäßig in den Code den Kommentar "bezieht sich auf das aktive Tabellenblatt" geschrieben. Da finde ich eine "with activesheet"-Zeile sinnvoller, da leichter anpassbar.

    Da ich immerwieder in unterschiedlichen Programmiersprachen mit kleinen Skripten zu tun habe, bemerke ich zunehmend wie angenehm es ist, wenn ein Code selbsterklärend ist - insbesondere da ich die Selbstverständlichkeiten, die Tricks und Kniffe der Programmiersprachen nicht beherrsche.
    In VBA kenne ich mich persönlich am besten aus und gebe mir Mühe - soweit es mir als Laie möglich ist - gut lesbaren, selbsterklärenden code zu schreiben.

    Klar, hier habt ihr herausgefunden, dass der Solver nur auf dem aktiven Tabellenblatt funktioniert, doch deswegen eine so sinnvolle Angewohnheit fallen lassen? Nein, keine Option für mich.

    Aber klar, das ist Geschmackssache.

    Liebe Grüße,
    Ulrich
     
    losgehts, 21. Januar 2020
    #41
  12. Beverly
    Beverly Erfahrener User
    Hi Ulrich,

    "with activesheet" sehe ich noch als sinnvoll an, denn es weist (als Gedankenstütze!) genau darauf hin, dass es sich um das aktive Tabellenblatt handelt - gibt es in deinen Codezeilen aber nirgendwo. Ob du dir als Anfänger nun merkst, dass ein Code ohne Bezugs-Punkt vor Objektangaben oder ein Code mit With ActiveSheet UND Bezugspunkten vor Objektangaben sich auf das aktuelle Tabellenblatt bezieht bleibt sich gleich, man muss es sich nur merken. Wichtig ist allerdings, dass man daran denkt, dass bei With-Anweisungen UNBEDINGT der Punkt vor jedem Objektbezug erforderlich ist, weil es sonst Probleme geben kann, wenn der Code von einem anderen Tabellenblatt aus ausgeführt werden soll.
     
    Beverly, 21. Januar 2020
    #42
  13. Benutzerdefinierte Trendlinie über bestimmte Abschnitte

    Erstmal vielen Dank für die Antwort Ulrich! Ich hab das jetzt so gemacht, wie du geschrieben hast, da dieses Tool vermutlich irgendwann von jemand anderem weiter entwickelt wird und der sich ja auch gleich auskennen soll.

    Ich hätte jetzt noch eine (vermutlich) ganz banale Frage: Ich würde gerne die Genauigkeit meines Fits ermitteln und hab das jetzt mit der "=Bestimmtheitsmass" Funktion versucht. Allerdings versteh ich nicht ganz, wie man daraus auf die Genauigkeit des Fits kommt, da ich ja die tatsächlichen Messwerte als Bezug eingeb, oder hab ich da was falsch verstanden?
     
    CobaltBlau, 21. Januar 2020
    #43
  14. Hallo,

    einfach mal die Hilfe für die Formel "=BESTIMMTHEITSMASS" in Anspruch nehmen (ich meine aufrufen und nachlesen).
    Ich habe das nicht gemacht, nehme aber an, dass diese Formel das Bestimmtheitsmaß für eine Approximation der Messwerte durch eine Gerade berechnet.

    Du approximierst aber nicht mit einer Geraden, sondern mit einer Funktion der Form a*e^(b*x)+c*e^(d*x).
    Einfach das Bestimmtheitsmaß für deine Approximation "von Hand" berechnen (soll heißen mit Hilfsspalten etc). Die Definition des Bestimmtheitsmaßes kennst du ja aus den Vorlesungen ...

    Kommst du klar?

    Grüße, Ulrich
     
    losgehts, 22. Januar 2020
    #44
  15. Hey Ulrich, vielen Dank für die Hilfe!

    Ja, ich habs hin gekriegt *Smilie
    Allerdings hab ich einfach die Summe der kleinsten Quadratischen Abweichungen meines neuen Fits (die hatte ich ja eh berechnet) mit dem des alten Fits verglichen. Das ging irgendwie einfacher.
     
    CobaltBlau, 25. Januar 2020
    #45
Thema:

Benutzerdefinierte Trendlinie über bestimmte Abschnitte

Die Seite wird geladen...
  1. Benutzerdefinierte Trendlinie über bestimmte Abschnitte - Similar Threads - Benutzerdefinierte Trendlinie bestimmte

  2. 2 Benutzerdefiniertes Inhaltsverzeichnis erstellen

    in Microsoft Word Hilfe
    2 Benutzerdefiniertes Inhaltsverzeichnis erstellen: Hallo zusammen Ich stehe gerade vor dem Wald und seh die Bäume nicht - oder besser gesagt, völlige Leere im Kopf. Ich arbeite mit Office 2021 und versuche ein 2 Benutzerdefiniertes...
  3. 56 Benutzerdefinierte Farben in die Farbpalette integrieren

    in Microsoft Excel Hilfe
    56 Benutzerdefinierte Farben in die Farbpalette integrieren: Hallo liebe Excel-Küstler. Nachdem ich alles aufgeschrieben hatte, konnte ich den Text hier leider nicht mehr einfügen. Daher meine Fragestellung als PDF-Datei-Anhang. Konnte man das nicht früher...
  4. Bericht per VBA formatieren

    in Microsoft Access Hilfe
    Bericht per VBA formatieren: Hallo, kann ich in einem Bericht die Rahmenfarbe im Detailbereich, auf Grundlage eines Werts im Datenfeld (lblZeitrahmen) verändern? Wert 1 = Orange Wert 2 = Rot Wert 3 = grün Wert 4 = blau...
  5. Benutzerdefinierte Spalte anhand von Bedingungen in Powerquery

    in Microsoft Excel Hilfe
    Benutzerdefinierte Spalte anhand von Bedingungen in Powerquery: Hallo zuammen, ich habe eine Beispieldatei angehängt. Ich habe Rohdaten mit mehreren Spalten. Spalte "Text" ist jedoch unvollständig. Die unvollständigen Zellen möchte ich via Powerquery...
  6. Benutzerdefiniertes Sortieren nach eigener Liste funktioniert nicht

    in Microsoft Excel Hilfe
    Benutzerdefiniertes Sortieren nach eigener Liste funktioniert nicht: Hallo zusammen, ich erstelle eine etymologische Datenbank zu einer Sprachgruppe in Nigeria. Die Spalte "SORTIEREN" soll dabei nach dem unten angegebenen Muster benutzerdefiniert sortiert werden....
  7. Text automatisch in benutzerdefinierte Zelle integrieren

    in Microsoft Excel Hilfe
    Text automatisch in benutzerdefinierte Zelle integrieren: Hallo zusammen, ich habe eine mehrseitiges Excel-Tabellenkalkulation zum Kalkulieren und zum Erstellen von Angeboten erstellt. Nun Möchte ich, dass der in einer Zelle im Tabellenblatt eingetragene...
  8. Pluszeichen bei pos. Werten mit benutzerdef. Formaten in markiertem Bereich voranstellen

    in Microsoft Excel Hilfe
    Pluszeichen bei pos. Werten mit benutzerdef. Formaten in markiertem Bereich voranstellen: Hallo zusammen, ich habe folgendes Problem: Ich möchte in hunderten Tabellen bzw. tausenden Zellen positiven Werten ein "+"-Zeichen voranstellen (also z.B. "+0,4" statt "0,4") und würde das...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden