Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1876to1880
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sigi VBA Funktion Filldownproblem

Sigi VBA Funktion Filldownproblem
01.04.2022 15:16:47
Kalle
Werte Forumschaft und an dieser Stelle lieber Sigi,
vor einiger Zeit hat VBA-Könner Sigi eine potente Funktion zur Berechnung eines Verhaltensmaßes (Veränderung von Computerspielzeiten zur Vorwoche/1. Woche) (m)einer Therapiegruppe konstruiert, die inhaltlich wunderbar funktioniert. Allerdings zeigt sich nun im täglichen Gebrauch eine merkwürdige Anomalie: Sobald man neue Zeilen (Messzeitpunkte) der intelligenten Tabelle hinzufügt, weist der Autofill der Funktion einen Sprung in der Funktionsreihenfolge in den Spalten X und Y auf. Der Zähler in den Funktionen mit Bezug auf Spalte E zählt die Reihe der dynamischen Tabelle vor der Datenzugabe doppelt (1x am Ende der Tabelle, 1x am alten Ende der Tabelle). Hier die arg reduzierte Projektdatei:
https://drive.google.com/file/d/127LJCYbarrPUZz0nQt0b7J2TRKvyVm93/view?usp=sharing
DIeses Verhalten zeigt sich ausschließlich bei der Funktion; andere Formeln haben das Problem nicht. Ich habe mich mit einer Filldown Automatik beim Dateiöffnen beholfen, was ganz gut geht aber eben nicht optimal ist.
Sigi und/oder das Forum: Woran kann das liegen? Aus der Funktion erschließt sich mir dieses Verhalten nicht, weil sie nicht rechnet sondern nur platziert wird ...
Viele Grüße
Kalle

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sigi VBA Funktion Filldownproblem
01.04.2022 15:42:57
onur
Wie wäre es, wenn du die DATEI posten würdest?
AW: Sigi VBA Funktion Filldownproblem
01.04.2022 16:04:26
Kalle
... die Datei ist mit 1MB leider zu groß für herber; daher der Gdrive Link. Darüber kann man die Datei im Browser öffnen und dann lokal speichern.
LG Kalle
AW: Sigi VBA Funktion Filldownproblem
01.04.2022 21:01:02
Oberschlumpf
Hi Kalle,
mit 7Zip komprimiert ist die 1MB-Datei nur noch 260kb groß; die ZIP-Datei kannst du dann auch hier uploaden.
Ciao
Thorsten
AW: Sigi VBA Funktion Filldownproblem
02.04.2022 10:35:59
Sigi.21
Hallo Daniel,
Kalle (= Daniel?), denn ich habe dich als Daniel in Erinnerung. Ich kann mich durch aus noch an deine Auswertung erinnern.
Soweit ich weiß, hatten wir auch Voraussetzungen definiert, die erfüllt sein müssen, damit die Funktion korrekte Ergebnisse ermitteln kann.
Zu deinem Vorfall:
Die Bezüge der Funktion (für alle Bereiche) müssen gleich lang und korrekt sein. Sie dürfen auch nur bis zum jeweiligen Datensatz reichen. Wenn ich mir die Zelle "Y29" ansehe und in die Zeile des Formeleditors (oben) klicke, sehe ich sofort, dass da die Bezüge nicht (mehr?) stimmen.
Ferner ist mir ein sachliches Problem aufgefallen. Wenn du neue Datensätze (Zeilen) einfügst, musst du auch die Daten noch chronologisch sortieren. Dies ist beim hochgeladenen Beispiel nicht er Fall.
Die Funktion ermittelt ausgehend vom aktuellen DS (dort wo die Funktion seht), rückwärts die Vorwoche bzw. das vorherige Auftreten (= Vorwoche, ggf. auch Vor-Vorwoche, falls der Klient mal ausgesetzt hat) bis ganz nach oben zum ersten Auftreten (= erste Woche). Das Datum selbst wird nicht geprüft. So war damals die Vereinbarung/Definition.
Ansonsten sollte die Funktion laufen.
Grüße Sigi
Anzeige
AW: Sigi VBA Funktion Filldownproblem
02.04.2022 12:02:23
Kalle
Hallo Sigi,
Danke für Deine Rückmeldung zu Deinem Werk. Die Funktion läuft ja im Grunde sensationell. Als wir sie damals über alle gesammelten Datensätze laufen ließen, gab es keine Bewegung in der Datenstruktur, weil keine laufenden Gruppen Daten produzierten. Jetzt im Live-Betrieb stellt sich diese Usability-Frage, die ich damals nicht vorhersah. Mittlerweile habe die Alt-Daten als Extra File für übergordenete Analysen ausgelagtert.
Was schlägst Du vor, damit diese Bezugsfehler beim Anlegen neuer Zeilen - egal ob die Klientengruppe als Block reinkopiert oder sie einzeln von den Therapeuten eingetragen werden - nicht mehr aufreten? Wäre eine kleine Sortier-Sub bei einem Dateneintrags-Event (vielleicht woksheet change?) eine Lösung?
LIebe Grüße
Kalle (Daniel ist richtig; aber Neopa gab mir mal den Hinweis, hier möglichst ohne Klarnamen aufzutreten ...)
Anzeige
AW: Sigi VBA Funktion Filldownproblem
02.04.2022 14:46:10
Sigi.21
Hallo Daniel,
du kannst die DS weiterhin reinkopieren (einzeln oder en block), chronologisch sortieren und die Funktion dann halt neu drüberlegen bzw. runterkopieren. Dumusst halt drauf achten, dass die Bezüge passen.
Aus Performancegründen empfehle ich dir, die Funktion je Staffel neu anzusetzen, dann braucht nicht so viel abgearbeitet zu werden. Die Auswertung sollte ja nur je Staffel erfolgen.
(bzgl. Klarnamen sollte der Vorname (oder Rufname) möglich sein; Nachnamen lasse ich auch weg.)
Grüße Sigi
AW: Sigi VBA Funktion Filldownproblem
02.04.2022 15:33:13
Kalle
Hallo Sigi,
da sich nicht jeder Psychologe so sehr für Excel interessiert wie ich, muss ich den Bedienaufwand im Live-Betrieb so gering wie möglich halten. Wenn ich Dich richtig, verstehe, ist die jetztige Filldown-Lösung zum automatischen Runterkopieren beim Öffnen der Datei keine verkehrte Idee (ist bereits implementiert). Kann Excel ein Change Ereignis zwischen Zellwertänderung und einen Kopiervorgang unterscheiden? Wäre toll, wenn die Kolleg(inn)en garnicht erst merken, dass die Funktion neu gerollt wird - unabhängig davon, ob Sie die Datei speichern, öffnen etc.
Oder - aber das kann ich werder fachlich noch vom Umfang her beurteilen - wäre die Datumsprüfung machbar?
Viele Grüße
Kalle
Anzeige
AW: Sigi VBA Funktion Filldownproblem
03.04.2022 09:49:26
Sigi.21
Hallo Daniel,
theoretisch könnte man das Datum schon prüfen, aber das würde einen ganz anderen Ansatz und damit Neuprogrammierung heißen. Hier war chronologische Sortierung vorausgesetzt, und so habe ich es programmiert.
Wer mit Excel arbeitet, muss schon ein paar Grundkenntnisse haben. Alle Formeln und VBA-Funktionen laufen halt nur dann korrekt, wenn die Bezüge richtig gesetzt sind. Da musst du deine Kollegen etwas schulen oder sie sollen die Finger von der Funktion lassen.
Grüße Sigi
AW: Sigi VBA Funktion Filldownproblem
03.04.2022 17:20:28
Kalle
Hi Sigi,
ich wollte Deine Leistung in keiner Weise schmälern. Die tolle Funktion wird auf jeden Fall weiter genutzt. Nunmehr habe ich einen Kniff angewandt, der bei neu eingefügten DS/Zeilen prüft, ob in Spalte A, B und C Veränderungen ablaufen (dort müssen verpflichtend immer Daten angelegt werden). Anschließend werden automatisch die Bezüge der Funktion aktualisert. Mehr als 300 Zeilen entstehen nicht - selbst bei zwei parallel laufenden Gruppen. Danach wandern die Daten in die Datenbank (dahingehend plane ich einen One-Button-Kopiervorgang; aber alles zu seiner Zeit).

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("A5:C300"), Target) Is Nothing Then
If Target.Count = 1 Then
Application.EnableEvents = False
With ThisWorkbook.Worksheets("ZOE_Aktuell")
Range("X5").FormulaArray = "=AendVorWo($A$5:A5,$E$5:E5,$V$5:V5,0,100)"
Range("X5:X" & Cells(Rows.Count, "A").End(xlUp).Row).FillDown
Range("Y5").FormulaArray = "=Aend1Wo($A$5:A5,$E$5:E5,$V$5:V5,0,100)"
Range("Y5:Y" & Cells(Rows.Count, "A").End(xlUp).Row).FillDown
End With
End If
End If
Application.EnableEvents = True
End Sub
Herzlichen Dank, dass Du Dich meinem Anliegen nochmal gewidmet hast. Eine Neuprogrammierung ist natürlich nicht nötig (es sei denn, es weckt Deinen Ehrgeiz *g*).
Viele Grüße
Kalle
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige