Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

MW von 500 18-Zeilenblöcken mit Größer/Kleiner Bed. in anderer Spalte
#11
Hallo M...,

nach meinem Verständnis fand ich deine Beschreibung gut.
Du hast ja genau beschrieben welche Berechnung du für welche Intervalle durchführen möchtest.

Das für die Programmierung noch einige Fragen zu klären sind, ist normal. Ansonsten könntest du das Programm selbst schreiben.
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.





Antworten Top
#12
(11.03.2018, 15:51)Ego schrieb: Ansonsten könntest du das Programm selbst schreiben.

Der Witz war gut!
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Antworten Top
#13
Hallo Günther,

A) zu:
Zitat:Der Witz war gut!
Das sollte kein Witz sein, sondern ist meine feste Überzeugung.
Wenn jemand beim ersten Beschreiben einer Aufgabenstellung wiklich für alle Fallstricke, die beim Programmieren auftreten können, ein Lösung parat hat, muss er ein sehr tiefes Verständnis für den notwendigen Algorithmus haben und dann ist es mit der Umsetzung auch nicht mehr so schwer.

B) zu: PowerQuery
Da ich noch sehr wenig Wissen über PowerQuey habe, bin ich gespannt wie du die Aufgabe in PowerQuery löst.
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.





Antworten Top
#14
Hallo M...,

da Fennek sich nicht mehr gemeldet hat, in der Anlage mein erster Lösungsversuch:

A) Zur kurzen Datei:
1. Ich habe deine grosse Datei so gekürzt, dass das erste Intervall vollständig enthalten ist.
2. Im Blatt "Tabelle2" habe ich für dieses Intervall einmal die Berechnung über Formeln nachvollzogen.
3. Durch drücken des Button "tuwat" im Blatt "Tabelle3" wird das Makro angestossen. In die Spalte C werden die Zeilen der Intervallgrenzen geschrieben und in die Spalte D das Ergebnis der Berechnungen.

B) Erweiterung der Datei:
Für eine vollständige Berechnung eines Tests müssen zur Zeit.
1. Im Blatt "Tabelle2" Ab Zelle A1 bis zur Zelle Innnnnn alle Zellen Werte enthalten. Die Zeit ist in Spalte I und der Durchmesser in Spalte G
2. Im Blatt "Tabelle3" muss die Liste der Zeiten ab Zelle A1 beginnen.
3. Vor einer Neuberechnung sollten die Spalten C und D in "Tabelle3" geleert werden.


ps. Ein Berechnung über die 238.000 Zeilen benötigt auf meinem Rechner ca 0,4 Sekunden.


Angehängte Dateien
.xlsm   PupilKurz .xlsb.xlsm (Größe: 727,95 KB / Downloads: 6)
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.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • michael123TUDa
Antworten Top
#15
Hallo Ego,

ersteinmal vielen Dank für deine Mühe!

Deine Datei und Anleitung ist soweit nachvollziehbar! Jedoch habe ich ein paar Fragen!

1. Ich habe bisher als Dezimaltrennzeichen einen Punkt benutzt. Durch deine Formeln mit <=2,5 habe ich jetzt auf ein Komma umgestellt...

2. Die schwarzen Boxen in Tabelle 2 gehen nur bis zur Reihe 10.000, trotzdem bekomme ich in Tabelle 3 Werte für alle Intervalle?

3. Mehrere Werte in den M und N Spalten werden als div/0 Fehler angegeben, trotzdem scheinen die Ergebnisse Sinn zu machen

3. Das Testintervall hattest du nicht berücksichtigt?

4. Kann man eine Überprüfung einbauen? die zum Beispiel angibt, wie viele Differenzen pro Intervall oder pro Minute berechnet werden?

Ansonsten weis ich garnicht wie ich dir danken kann und hoffe du hast dir an einem Sonntag nicht zuviel Umstände gemacht!

LG

Michael
Antworten Top
#16
Hallo Michael,

hier meine Antworten:

zu 1.
Es kann sein, dass durch das Abspeichern der Datei als Datei mit Makros meine Einstellung der Dezimaltrennzeichen übernommen wurde. Ich denke hier kannst du einfach die Einstellung ändern. Die Spalten K bis N im Blatt werden nicht benötigt und die Inhalte und Formatierungen können gelöscht werden (siehe 2).

zu 2.
Die mit Formeln gefüllten Bereiche in den Spalten K bis N sind nur dafür da, dass du in der Kurzdatei einmal über die Formeln prüfen kannst  ob ich die Anforderung getroiffen habe, da ich erwartet hatte, dass die Berechnung im Programm eine BlackBox für dich ist.
Für das Programm werden diese Spalten nicht berücksichtigt sondern nur die Werte in den Spalten G und I.

zu 3. a
Wie unter 2 aufgeführt werden diese Spalten nicht benötigt und haben keine Aussagekraft mehr, wenn du in den Spalten A bis I einen vollständigen Datensatz eingetragen hast.

zu 3. b
Ja, ich habe bis jetzt nur die Intervalle mit Zahlen berücksichtigt, hatte nicht darauf geachtet, dass es ja nur 17 sind. Im Programm habe ich das Testintervall sogar explizit ausgeschlossen.
Du kannst das Programm an einer Stelle anpassen(eine Zeile und vier Buchstaben löschen):

Code:
Aus

If left(varIntervalle(lngZeileI, 1), 4) = "Test" Then
ElseIf right(varIntervalle(lngZeileI, 1), 6) = " Start" Then

wird

If right(varIntervalle(lngZeileI, 1), 6) = " Start" Then

Falls es nicht klappt, kann ich eine geänderte Version schicken.

zu 4.
Wenns gewünscht wird, kann ich diese in eine zusätzlichen Spalte ausgeben. Dann must du noch die Position vorgeben.
Ansonsten könntest du auch einfach die Differenz der Zeilennummern zwischen Start und Ende durch 18 teilen.

zu Ansonsten...
Ich nehme an, dass du das Kleingedruckte zu Nutzung von kostenlosen Hilfeforen gelesen hast. Blush
Wer hier Hilfe bekommt, muss auch anderen, auch ausserhalb der Foren (manchmal) kostenlos helfen.
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.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • michael123TUDa
Antworten Top
#17
Hallo Ego,

hier ein kurzes Feedback, bzw. ein aktueller Stand:


1. funktioniert

2. abgehakt

3.a abgehakt

3.b Ich habe die Zeilen in VBA geändert! Bekomme jetzt einen Laufzeitfehler in der fettgedruckten Zeile. Laufzeitfehler 9. Index liegt außerhalb gültigen Bereichs.

dblMittelAlt = 0
        dblSummeIntervall = 0
        Do While lngZeileAktM <= lngZeileMaxM And varMesswerte(lngZeileAktM, intSpZeit) <= dblEnde
            lngZeileBlock = lngZeileBlock + 1
            If varMesswerte(lngZeileAktM, intSpWert) >= 2.5 Then

4. Wird nichtmehr benötigt

Vielen Dank weiterhin für deine Mühe! 

VG

Michael
Antworten Top
#18
Nachtrag!

Problem gelöst, Spaten H & I hatten in Tabelle 2 unterschiedlich viele Einträge wie A bis G!
Antworten Top
#19
Hallo Michael,

der Fehler kann nicht mit dem Löschen der Zeile in Zusammenhang stehen.

Ich nehme an, dass einer der Intervallgrenzen ausserhalb  der Messwertzeiten ist. Dies hatte ich bisher nicht abgefangen.

In der Anlage eine angepasste Version.


ps. Auch eine Leerzeile/-spalte innerhalb der Messdaten kann dazu führen, dass der Bereich nicht vollständig bearbeitet wird.


Angehängte Dateien
.xlsm   PupilKurz.xlsm (Größe: 728,1 KB / Downloads: 3)
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.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • michael123TUDa
Antworten Top
#20
Hallo Ego,

zurzeit sieht meine Arbeitsweise folgender Maßen aus:

Ich kopiere die Roh-Daten, sprich Spalte A bis G in Tabelle 2 & Spalte B in Tabelle 3, in deine Datei. Dann läuft ein Makro und macht die Zeitsynchronisation in Spaten H & I in Tabelle 2. Dann wird dein Button geklickt und ein weiters Makro kopiert mir die Ergebnisse in meine Ergebnis-Datei. 

Mein erstes Makro hatte für die Spalten H & I mehr Werte erzeugt als in Spalte A bis G stehen. Das führte zu dem beschriebenen Fehler. 

Nachdem ich die Zeilenanzahl gleich halte funktioniert alles ohne Probleme!

LG
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste