Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1776to1780
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

Vorlagedatei mittels VBA öffnen

Vorlagedatei mittels VBA öffnen
10.08.2020 08:39:17
Matthias
Hallo liebe Community,
da ich mich noch nicht wirklich mit VBA auskenne wollte ich meine Frage an die stellen, die schon etwas Erfahrung damit haben.
Also ich will eine csv-Datei auswerten lassen und die gespeicherten Werte dann grafisch darstellen. Die Werte müssen aber vor der Darstellung noch umgerechnet werden.
Jetzt zu meiner Frage:
Ist es möglich eine VBA zu erstellen, bei der man mit einem Klick auf die csv Datei diese Datei in eine bereits erstelltes "Musterblatt" einlesen lässt.
Also in diesem Musterblatt sind die Umrechnung, die grafische Darstellung etc. schon vorhanden und es fehlen nur noch die Messwerte.
Ich müsste also nur noch die csv-Datei einlesen lassen, die Daten richtig formatieren (Datum,Uhrzeit, "." zu "," umwandeln) und an die richtige Stelle der Datei einfügen lassen.
Ich hoffe, dass mir jemand helfen kann.
Mit freundlichen Grüßen
Matthias

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vorlagedatei mittels VBA öffnen
10.08.2020 16:45:27
fcs
Hallo Mathias,
grundsätzlich kann man das umsetzen.
Der weg könnte folgender sein.
1. Mustervorlage wird schreibgeschützt geöffnet - könnte man vom Makro mit erledigen lassen
2. Makro zeigt Dateiauswahl-Dialog an, CSV-Datei wird ausgewählt.
3. Makro öffnet die CSV-Datei schreibgeschützt in einer separaten Datei
4. Makro führt nötige Formatierungen durch. Das Dezimalzeichen "," statt "." sollte bei passenden Einstellungen beim Öffnen automatisch stimmen.
5. Daten werden in die Vorlage übertragen - entweder zellenweise übertragen oder als Block kopieren.
6. CSV-Datei wird wieder geschlossen
7. Datei-Dialog zum Speichern der ausgefüllten Datei anzeigen.
Wenn möglich lade hier in einer ZIP-Datei die Mustervorlage und eine CSV mit Beispieldaten hoch.
Fall sensible/persönliche Daten enthalten sein sollten, dann anonymisiere sie sinnvoll (Texte müssen Texte bleiben, Zahlen und Datumswerte müssen vom Typ erhalten bleiben.
LG
Franz
Anzeige
AW: Vorlagedatei mittels VBA öffnen
11.08.2020 08:05:45
Matthias
Hallo Franz,
danke erstmal für deine Antwort.
Hier habe ich die ZIP-Datei mit einer Beispieldatei (diese enthält nur 2000 Zeilen und 3 Spalten, sollte aber als Beispiel genügen) und der Mustervorlage für die Exceldatei erstellt:
https://www.herber.de/bbs/user/139570.zip
Im Tab Messwerte sollen die Daten von der CSV-Datei importiert werden. Die Umrechenparameter soll man selbst ändern können. Die Auswertung soll dann automatisch erfolgen.
Bei der Analyse sollen dann die Daten sowie die anderen Auswertefunktionen (Durchschnitt,...) grafisch veranschaulicht werden.
Mit freundlichen Grüßen
Matthias
Anzeige
AW: Vorlagedatei mittels VBA öffnen
11.08.2020 23:16:26
fcs
Hallo Mathias,
die Kombination von ";" als Feld-Trennzeichen und "." als Dezimal-Trennzeichen führt dazu, dass Excel beim Öffnen der CSV unerwünschte Konversionen durchführt, die man mit Parametern nicht in den Griff bekommt.
Deshalb wird vom Makro die CSV-Datei kopiert mit der Endung txt. So bekommt man mehr Flexibilität beim Importieren.
Bei der Darstellung des Timestamps können bei den Sekunden in Excel nur 3 Nachkommastellen verarbeitet/dargestellt werden.
Damit die weitere Verarbeitung der Daten per Formeln einfacher wird, sind die Daten im Blatt "Messwerte" und die Formeln im Blatt Auswertung jetzt als Tabellen-Objekt aufgebaut. Dadurch erreicht man Vereinfachungen und kann alle Formeln im Muster vorbereiten.
Hier die ZIP-Datei mit der neuen Muster-Vorlage und einer Datei zur Steuerung des Ablaufes.
https://www.herber.de/bbs/user/139587.zip
Hier musst du nach dem Extrahieren der Dateien in der Steuerungsdatei als erstes die Musterdatei auswählen. Danach kannst du den Import starten.
LG
Farnz
Anzeige
AW: Vorlagedatei mittels VBA öffnen
12.08.2020 08:10:55
Matthias
Hallo Franz,
vielen vielen Dank erstmal für deine Hilfe. Das ist genau das, was ich für meine Anwendung brauche.
Da ich das Programm aber auch verstehen möchte und es das nächste mal dann auch alleine machen kann habe ich ein paar Fragen:
1)Wofür ist folgende if-Abfrage? Verstehe nicht genau, was da abgefragt wird.
"If .Show = -1 Then"
2)Was ist diese Makrobremse bzw. warum muss diese vorübergehend deaktiviert werden?
3)Inwiefern hilft das als Tabelle formatieren?
4)Was ist der beste Weg um die Daten aus dem Tab "Auswertung" grafisch darzustellen?
5)Zusätzlich möchte ich noch die Auswärtefunktionen (Durchschnitt, Max, ...) vom Tab "Analyse" darstellen lassen. Dazu wäre meine Idee eine ganze Spalte mit genau dem Wert zu füllen oder gibt es da einen besseren Wert
6)Gibt es eine Funktion mit der alle Werte, die über dem Schwellwert liegen anzuzeigen?
Grüße
Matthias
Anzeige
AW: Vorlagedatei mittels VBA öffnen
12.08.2020 10:53:52
fcs
Hallo Mathias,
1)Wofür ist folgende if-Abfrage? Verstehe nicht genau, was da abgefragt wird.
"If .Show = -1 Then"

.Show ist die Anweisung für die Anzeige des Datei-Auswahl.Dialogs.
Wenn der Dialog geschlossen wird, dann wird ein Wert zurückgegeben.
Wurde der OK-Button angeklickt -also Datei(en) ausgewählt- dann ist der Wert -1
2)Was ist diese Makrobremse bzw. warum muss diese vorübergehend deaktiviert werden?
Makrobremsen -ich nenne sie so- sind Einstellungen in Excel, die die Ausführung von Makros verlangsamen.
Am wichtigsten sind:
- die Bildschirmaktualisierung
- die Berechnung von Formeln
- Ereignismakros im Tabellenblatt (z.B. Änderung von Zellinhalten) - trifft in deiner Datei aber nicht zu.
Standardmäßig sind diese Einstellungen aktiv, bzw. der Berechnungsmodus steht auf "automatisch".
Wenn ein Makro Zellinhalte ändert und diese Zellen in Formeln verwendet werden, dann wird jedes Mal, wenn das Makro einen Wert einträgt die Neuberechnung der Formeln gestartet.
Wenn die Bildschirmaktualisierung aktiv ist, dann wird jede Änderung die ein Makro verursacht sofort angezeigt.
Diese Aktualisierungen können enorm viel Zeit verbrauchen.
Deshalb ist es meistens angebracht diese Einstellungen zu deaktivieren bzw. auf manuell zu setzen.
Man sollte dann nur nicht vergessen dies Einstellungen am Ende eines Makros wieder auf die gewünschten Standardwerte zu setzen.
3)Inwiefern hilft das als Tabelle formatieren?
Diese "intelligenten" Tabellen unter VBA ListObject sollte man für Listen verwenden haben verschiedene Vorteile, u.a.
  • automatisierte Formatierungen, wenn Zeilen ein- bzw. angefügt werden

  • beim Einfügen oder Anfügen von Zeilen werden Formeln werden die Formeln automatisch kopiert.

  • in der Titelzeile stehen standardmäßig die Autofilter zum Filtern und Sortieren der Spalten zur Verfügung

  • Verwendet man Tabellen als Quelle für Diagramme, dann passen sich die Diagramme automatisch an die Länge der Tabelle an.

  • In Formeln (z.B. der Summe der Werte in einer Spalte) kann man auf den entsprechenden Spalten-Titel verweisen, statt einen Zellbereich in der Form B2:B122 anzugeben. Auch hier funktioniert die Anpassung der Formeln automatisch, wenn sich die Zahl der Zeilen in der Tabelle ändert.

  • 4)Was ist der beste Weg um die Daten aus dem Tab "Auswertung" grafisch darzustellen?
    Hierzu musst du zusätzlich eine Spalte mit der Laufzeit einfügen
    =(Timestamp - Startzeit)/86000
    Dann wird die Laufzeit in Sekunden mit 3 Nachkommastellen berechnet.
    So kann man die Daten der Kanäle in inem XY-Punktdiagramm anzeigen. Dabei keine Linien anzeigen, sondern nur die Punkte und die Größe der Markierungen auf 1 reduzieren.
    Es könnte sein, dass bei Darstellung aller Känäle in einem Diagramm die max. zulässige Anzahl von Datenpunkten für ein Diagramm überschritten wird. Mit 2000 Datenzeilen hat es noch funktioniert.
    Außerdem wird es bei 12 Kanälen in einem Diagramm schnell unübersichtlich - deshalb am besten wohl 1 Diagramm je Kanal.
    5)Zusätzlich möchte ich noch die Auswärtefunktionen (Durchschnitt, Max, ...) vom Tab "Analyse" darstellen lassen. Dazu wäre meine Idee eine ganze Spalte mit genau dem Wert zu füllen oder gibt es da einen besseren Weg

    Wüsste ich jetzt nicht, bei diesen Werten würde ich im Diagramm dann eine Linie ohne Markierungspunkte darstellen.
  • 6)Gibt es eine Funktion mit der alle Werte, die über dem Schwellwert liegen anzuzeigen?

  • Im Blatt Auswertung kann eine bedingte Formatierung eingebaut werden, die den Kanalwert mit dem Schwellenwert vergleicht und farblich hervorhebt. Nach dieser Farbe kann man dann auch den Kanal filtern.
    Hier deine Datei mit 200 Datenzeilen und den entsprechenden Formeln und Diagrammen.
    https://www.herber.de/bbs/user/139590.xlsx
    LG
    Franz
    Anzeige
    AW: Vorlagedatei mittels VBA öffnen
    12.08.2020 12:25:28
    Matthias
    Hallo Franz,
    danke für die Beantwortung meiner Fragen.
    Habe die Makros jetzt zum größten Teil verstanden und glaube, dass ich das jetzt auch alleine hinbekomme.
    Das mit der graphischen Darstellung werde ich jetzt noch in meinem Dokument ergänzen.
    Noch eine letzte Frage:
    Gibt es einen Weg die Werte vor der Darstellung noch tiefpass-zu-filter? -Also zum Beispiel mit einem Tschebyschef Filter.
    Gruß
    Matthias
    AW: Tschebyschef Filter in Excel
    12.08.2020 15:01:18
    fcs
    Hallo Mathias,
    Noch eine letzte Frage:
    Gibt es einen Weg die Werte vor der Darstellung noch tiefpass-zu-filter? -Also zum Beispiel mit einem Tschebyschef Filter.

    Vom Tschebyschef höre ich hier das 1. Mal.
    Bei der Umsetzung in Excel und Anwendung auf deine Daten kann ich dir nicht weiter helfen.
    Unter den Excel-Addins "Analyse-Funktionen" und "Analyse-Funktionen VBA" hab eich jedenfalls nichts passendes gesehen.
    LG
    Franz
    Anzeige
    AW: Tschebyschef Filter in Excel
    12.08.2020 15:27:31
    Matthias
    Hallo Franz,
    schade. Kennst du einen anderen Weg um die Datein Tiefpasszufiltern?
    Gruß
    Matthias
    AW: Tschebyschef Filter in Excel
    12.08.2020 15:30:32
    Matthias
    Anmerkung:
    Verzeihung meinte natürlich keinen Tschebyscheff-Filter sondern einen Butterworth Filter. ALso um rauschende Daten zu filtern.
    AW: Tschebyschef Filter in Excel
    12.08.2020 23:40:55
    fcs
    Hallo Mathias,
    ich habe 0 Ahnung worum es bei diesem Filter geht, also kann ich nichts zu einer möglichen Umsetzung in Excel sagen.
    Ich habe ein wenig im Netz gesucht.
    Schau mal, ob dich der folgende Link weiterbringt.
    https://samvanwassenbergh.weebly.com/exceltools.html
    LG
    Franz
    Anzeige
    AW: Tschebyschef Filter in Excel
    13.08.2020 07:21:05
    Matthias
    Hallo Franz,
    schade das zu hören. Werde mich dann selbst dazu noch schlau machen
    Trotzdem vielen Dank für deine Hilfe. Habe mich jetzt dadurch ein gutes Stück in Sachen Excel weitergebildet.
    Gruß
    Matthias
    AW: Tschebyschef Filter in Excel
    13.08.2020 08:39:25
    Matthias
    Noch ein letzter Nachtrag:
    Statt einem Filter könnte man auch die Funktion einbinden, dass der Wert in der nächsten Spalte nur dann angezeigt wird, wenn der Wert um mindestens x größer ist als der Vorwert, ansonsten wird der Vorwert dargestellt.
    Kann man dies irgendwie umsetzen?
    Also wenn der Wert in der 3.Zeile = 0.008622 ist und in der 4 dann 0.008613 und eingestellt ist, das dieser Grenzwert 0.00003 ist dann wird in der 4. Spalte auch die 0.008622 dargestellt. (natürlich Grenzwert drüber und drunter)
    Gruß
    Matthias
    Anzeige

    309 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige