Tumgik
#Arbeitsmappe öffnen
exceltricks · 1 year
Text
Alles Wichtige über Arbeitsmappen mit VBA in Excel lernen
In dem folgenden YouTube-Video erklärt der Excel-Experte Kai Weissmann alles Wichtige über Arbeitsmappen in Excel mit VBA. Es werden vier verschiedene Möglichkeiten vorgestellt, um Arbeitsmappen in VBA anzusprechen: über Active Workbook, über This Workbook, über die Workbooks-Sammlung und über den Index der Arbeitsmappe. Es wird gezeigt, wie man Arbeitsmappen öffnen, speichern und schließen kann…
View On WordPress
0 notes
draegerit · 11 months
Text
Shelly Plus PM: So holst du deine Messdaten in Excel
Tumblr media
Wie du die Messdaten in der Shelly Smart Control App exportierst und in Excel visualisierst, habe ich dir bereits in einem letzten Beitrag gezeigt. Hier soll es nun darum gehen, wie du diese Messdaten in Excel abrufen und in einer Tabelle sammeln kannst.
Tumblr media
Welchen Vorteil habe ich in Excel?
Das Programm Microsoft Excel bietet die Möglichkeit, mit wenigen Klicks große Daten zu visualisieren. Des Weiteren kannst du mit der Sprache Visual Basic for Applications (kurz VBA) in deiner Excel-Mappe Code erzeugen, welcher dir bei bestimmten Aufgaben behilflich ist. In unserem Fall möchten wir per HTTP Request & Response die Daten auslesen und in eine Tabelle schreiben. Dazu benötigen wir ein paar Daten, welche wir in einer separaten Tabelle speichern und so unsere Arbeitsmappe dynamisch halten. Die fertige Arbeitsmappe kannst du dir am Ende von diesem Beitrag herunterladen.
Aufbauen einer HTTP-Verbindung zum Shelly
Zunächst müssen wir eine HTTP-Verbindung zum Shelly aufbauen. Über diese Verbindung (auch als Request genannt) kannst du Daten abfragen und auch das Relais steuern. Eine ausführliche Dokumentation zum Shelly Plus 1PM findest du unter https://shelly-api-docs.shelly.cloud/gen2. Uns soll besonders der Abschnitt unter https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Switch#switchgetstatus-example interessieren. Zunächst möchte ich dir erläutern, wie du die Daten per Postman abrufen kannst, denn zunächst muss man ja erstmal herausfinden, wie man sich zum Shelly verbindet. Mein Shelly Plus 1PM Mini ist unter der IP-Adresse 192.168.178.35 erreichbar, solltest du also nachfolgend Skripte, Bilder etc. mit dieser Adresse finden, so musst du diese für dein Gerät anpassen. https://youtu.be/jkoJ0EqjVac Abrufen der Daten per Postman Mit der nachfolgenden Adresse kann man den Status des Shellys abrufen: http://192.168.178.35/rpc/Switch.GetStatus?id=0 Als Antwort erhält man hier ein JSON mit den Daten zum aktuellen Verbrauch. { "id": 0, "source": "init", "output": false, "apower": 0.0, "voltage": 224.6, "freq": 50.0, "current": 0.000, "aenergy": { "total": 0.000, "by_minute": , "minute_ts": 1696259728 }, "temperature": { "tC": 49.3, "tF": 120.7 } } Aktivieren des angeschlossenen Verbrauchers per HTTP-Request Das Relais und somit den angeschlossenen Verbraucher kannst du ebenso per Postman ganz einfach per HTTP-Request aktivieren und auch deaktivieren. Dazu benötigen wir nur eine Adresse, um das Relais umzuschalten: http://192.168.178.35/rpc/Switch.Toggle?id=0 Um einen sicheren Status zu setzen, kann man auch die Funktion "Switch.Set" mit dem Parameter "on" aufrufen. Dieser Parameter erhält dann ein Boolean (true/false) für den neuen Status des Relais. http://192.168.178.35/rpc/Switch.Set?id=0&on=true http://192.168.178.35/rpc/Switch.Set?id=0&on=false Als Antwort erhält man wiederum ein JSON mit dem Zustand des Relais zuvor: { "was_on": true }
Abrufen der Daten aus Microsoft Excel
Nachdem wir nun herausgefunden haben, wie man die Daten per einfachem HTTP-Request abrufen können, möchten wir einen Schritt weiter gehen und diese nun in Excel anzeigen. Dazu öffnen wir Excel und erzeugen eine neue Arbeitsmappe, welche wir sogleich als *.xlsm speichern. Schritt 1 - erzeugen von zwei Tabellen Für unsere Messdaten und die Verbindungs- und Konfigurationsdaten benötigen wir jeweils eine Tabelle. Diese legen wir an und benennen diese mit "Messdaten" und "Daten". Hier kannst du natürlich auch andere Titel wählen. Schritt 2 - Anlegen der Verweise in VBA & importieren der BAS-Datei zum parsen von JSON Mit der Tastenkombination Alt+F11 wechselt man in die Ansicht VBA und dort müssen wir zunächst zwei zusätzliche Verweise laden und eine BAS-Datei importieren.
Tumblr media Tumblr media Tumblr media
Die Verweise sind: - Microsoft Scripting Runtime (für das Objekt Dictionary), sowie - Microsoft XML, v6.0 (für den HTTP Request) Für das spätere Parsen des JSON-Response vom Shelly benötigen wir hier eine zusätzliche BAS-Datei diese können wir uns vom Git Repository VBA-tools/VBA-JSON als ZIP-Datei herunterladen.
Tumblr media
Auf der Seite wird auch erläutert wie du diese installierst, das ist jedoch recht einfach, denn du musst hier lediglich im VBA Editor auf Datei > Datei importieren, klicken und dann die Datei "JsonConverter.bas" öffnen.
Tumblr media
Du solltest diese Datei dann unter dem Knoten Module finden (siehe Grafik). Schritt 3 - Absenden eines HTTP-Request mit VBA Nachfolgend der Code zum Absenden des HTTP-Request an den Shelly: Dim request As MSXML2.ServerXMLHTTP60 Dim ipAdresse As String 'auslesen der Werte aus der Tabelle "Daten" ipAdresse = Tabelle4.Range("B1").Value 'Absenden eines HTTP-Request an den Shelly Dim httpRequest As String httpRequest = "http://" & ipAdresse & "/rpc/Switch.GetStatus?id=0" Set request = New MSXML2.ServerXMLHTTP60 request.Open "GET", httpRequest, False 'Wenn ein Fehler wie Timeout geschieht dann soll zum Abschnitt "FehlerSendRequest" 'gesprungen werden! On Error GoTo FehlerSendRequest request.send Schritt 4 - Auswerten des JSON-Reponse Wenn die Antwort vom Shelly ein HTTP-Code 200 also 'OK' enthält dann wurden Daten gesendet und wir können diese dann in ein Dictionary parsen. Dieses Dictionary hat den Vorteil das wird recht einfach auf die Schlüssel/Werte Paare zugreifen können. 'Auslesen der Antwort und ablegen in ein Dictionary 'von einem Dictionary kann man einfacher auf die Schlüssel/Werte Paare zugreifen Dim jsonObject As Dictionary Set jsonObject = ParseJson(request.responseText) 'Schreiben der aktuellen Daten in die Tabelle "Messdaten" 'es wird dazu der letzte inkrementierte Index für die Zeile genutzt 'Umwandeln des Zeitstempels welcher die Minuten seit dem 01.01.1970 repräsentiert in ein 'lesbares Format plus dem Offset für die Zeitzone Tabelle3.Range("A" & lastIndex).Value = DateAdd("s", CDbl(jsonObject("aenergy")("minute_ts") + timeZoneOffset), "1/1/1970") 'Speichern der Spannung Tabelle3.Range("B" & lastIndex).Value = jsonObject("voltage") 'Speichern der Frequenz Tabelle3.Range("C" & lastIndex).Value = jsonObject("freq") 'Speichern der Ampere Tabelle3.Range("D" & lastIndex).Value = jsonObject("current") 'Speichern der Leistung Tabelle3.Range("E" & lastIndex).Value = jsonObject("apower") Schritt 5 - Formatieren der Datenreihen Wenn wir eine neue Zeile gelesen und in die Tabelle "Messwerte" geschrieben haben, möchten wir diese nun auch vernünftig formatieren dieses machen wir mit einer Funktion und drei zusätzliche Unterfunktionen damit wir die eigentliche Funktion kurz halten. Die Hintergrundfarbe der Zelle sowie die Schriftart kannst du nach deinem belieben anpassen, die Farbwerte kannst du zbsp. unter https://www.denisreis.com/excel-vba-alle-farbindizes-colorindex-auflisten/ entnehmen. 'Formatieren der Datentabelle nachdem eine neue Zeile hinzugefügt wurde Sub formatiereTabelle() Dim lastIndex As Integer 'lesen des Zeilenindexes für die anschließende For-Schleife lastIndex = Tabelle4.Range("B3").Value Dim colorIndexOdd As Integer Dim colorIndexEven As Integer 'ColorIndex für die Hintergrundfarbe colorIndexOdd = 43 colorIndexEven = 50 Dim fontColorBlackIndex As Integer Dim fontColorWhiteIndex As Integer fontColorBlackIndex = 1 fontColorWhiteIndex = 2 Dim colorIdxBg As Integer Dim colorIdxFont As Integer 'Über alle erzeugten Zeilen iterieren For i = 1 To lastIndex 'Wenn der Rest der Division des aktuellen Index ungleich 1 ist dann soll 'der colorIndexOdd gesetzt werden ansonsten colorIndexEven colorIdxBg = IIf((i Mod 2) = 0, colorIndexOdd, colorIndexEven) Call setCellBackgroundColor(colorIdxBg, i) colorIdxFont = IIf((i Mod 2) = 0, fontColorBlackIndex, fontColorWhiteIndex) Call setCellFontColor(colorIdxFont, i) Call setCellBorder(i) Next End Sub Sub setCellBackgroundColor(bgcolor As Integer, ByVal currentCellIndex As Integer) 'Wenn der Rest der Division des aktuellen Index ungleich 1 ist dann soll 'der colorIndexOdd gesetzt werden ansonsten colorIndexEven Tabelle3.Range("A" & currentCellIndex).Interior.colorIndex = bgcolor Tabelle3.Range("B" & currentCellIndex).Interior.colorIndex = bgcolor Tabelle3.Range("C" & currentCellIndex).Interior.colorIndex = bgcolor Tabelle3.Range("D" & currentCellIndex).Interior.colorIndex = bgcolor Tabelle3.Range("E" & currentCellIndex).Interior.colorIndex = bgcolor End Sub Sub setCellFontColor(fontcolor As Integer, ByVal currentCellIndex As Integer) Tabelle3.Range("A" & currentCellIndex).Font.colorIndex = fontcolor Tabelle3.Range("B" & currentCellIndex).Font.colorIndex = fontcolor Tabelle3.Range("C" & currentCellIndex).Font.colorIndex = fontcolor Tabelle3.Range("D" & currentCellIndex).Font.colorIndex = fontcolor Tabelle3.Range("E" & currentCellIndex).Font.colorIndex = fontcolor End Sub Sub setCellBorder(ByVal currentCellIndex As Integer) Tabelle3.Range("A" & currentCellIndex).BorderAround LineStyle:=xlContinuous, Weight:=xlThin Tabelle3.Range("B" & currentCellIndex).BorderAround LineStyle:=xlContinuous, Weight:=xlThin Tabelle3.Range("C" & currentCellIndex).BorderAround LineStyle:=xlContinuous, Weight:=xlThin Tabelle3.Range("D" & currentCellIndex).BorderAround LineStyle:=xlContinuous, Weight:=xlThin Tabelle3.Range("E" & currentCellIndex).BorderAround LineStyle:=xlContinuous, Weight:=xlThin End Sub Schritt 6 - Aktivieren / Deaktiven des Relais vom Shelly per HTTP-Request Das Relais des Shellys läßt sich eigentlich über die Shelly Smart Control App steuern, jedoch möchte ich dieses auch über die Excelmappe machen und daher implementiere ich eine zusätzliche funktion dafür. Hier gibt es einen HTTP-Request welcher einfach den Zustand des Relais togglet d.h. aus dem Zustand "AN" wird "AUS" und umgekehrt. Dim ipAdresse As String 'lesen der IPAdresse aus der Zelle B1 ipAdresse = Range("B1").Value 'Absenden eines HTTP-Request an den Shelly Dim request As MSXML2.ServerXMLHTTP60 Dim httpRequest As String httpRequest = "http://" & ipAdresse & "/rpc/Switch.Toggle?id=0" Set request = New MSXML2.ServerXMLHTTP60 request.Open "GET", httpRequest, False 'Wenn ein Fehler auftritt dann soll eine Fehlermeldung ausgegeben werden! On Error GoTo FehlerSendRequest request.send Schritt 7 - löschen der Messergebnisse und zurücksetzen des Zeilenindexes Wenn wir die aufgezeichneten / empfangenen Messdaten löschen wollen, dann möchten wir diese ggf. auch löschen. Ein Weg wäre hier manuell alle Zeilen zu markieren und zu entfernen und den Zeilenindex auf 2 zu setzen. Jedoch geht dieses kompfortabler über eine Schaltfläche. Dim lastIndex As Integer 'lesen des Zeilenindexes für die anschließende For-Schleife lastIndex = Range("B3").Value 'Schleife über alle erzeugten Zeilen For i = 2 To lastIndex Tabelle3.Range("A" & i).Value = "" Tabelle3.Range("B" & i).Value = "" Tabelle3.Range("C" & i).Value = "" Tabelle3.Range("D" & i).Value = "" Tabelle3.Range("E" & i).Value = "" Next 'Zurücksetzen des Zeilenindexes auf 2 Range("B3").Value = 2 Schritt 8 - Erzeugen von Schaltflächen Diese Funktionen können wir nun entweder in einem eigenen Ribbon bereitstellen oder wir platzieren auf der Tabelle ein paar Schaltflächen. In meinem Fall möchte ich die Schaltflächen wählen.
Tumblr media
Dazu navigieren wir über Datei zu den Optionen.
Tumblr media
Wählen hier den Eintrag "Menüband anpassen" aus und setzen dann auf der rechten Seite den Haken bei "Entwicklertools".
Tumblr media
In dem neuen Reiter Entwicklertools können wir dann aus dem Bereich "ActivX Steuerelemente" die Befehlsschaltfläche wählen und platzieren.
Tumblr media
Dieses machen wir für jeweils für die Funktion zum Togglen des Relais, zum lesen der Daten und zum löschen der Messdaten.
Fertige Excel-Mappe zum Download
Nachfolgend findest du die fertige Excel Arbeitsmappe mit dem VBA Code zum Download. Microsoft Excel Arbeitsmappe - ShellyPM_readdata.xlsm zum lesen der Daten vom Shelly Plus PM
Der VBA Quellcode
Hier nun der komplette VBA-Code mit Kommentaren: ' Wenn die Schaltfläche "Daten vom Shelly lesen" geklickt wird... Private Sub CommandButton1_Click() Dim request As MSXML2.ServerXMLHTTP60 Dim ipAdresse As String Dim lastIndex As Integer Dim timeZoneOffset As Integer 'auslesen der Werte aus der Tabelle "Daten" ipAdresse = Tabelle4.Range("B1").Value lastIndex = Tabelle4.Range("B3").Value 'Wert für die Zeitzone von Stunden in Minuten umrechnen timeZoneOffset = Tabelle4.Range("B4").Value * (60 * 60) 'Absenden eines HTTP-Request an den Shelly Dim httpRequest As String httpRequest = "http://" & ipAdresse & "/rpc/Switch.GetStatus?id=0" Set request = New MSXML2.ServerXMLHTTP60 request.Open "GET", httpRequest, False 'Wenn ein Fehler wie Timeout geschieht dann soll zum Abschnitt "FehlerSendRequest" 'gesprungen werden! On Error GoTo FehlerSendRequest request.send 'Wenn ein HTTP-Code 200 "OK" empfangen wurde, dann kann ein JSON ausgewertet werden. If request.Status = 200 Then 'Auslesen der Antwort und ablegen in ein Dictionary 'von einem Dictionary kann man einfacher auf die Schlüssel/Werte Paare zugreifen Dim jsonObject As Dictionary Set jsonObject = ParseJson(request.responseText) 'Schreiben der aktuellen Daten in die Tabelle "Messdaten" 'es wird dazu der letzte inkrementierte Index für die Zeile genutzt 'Umwandeln des Zeitstempels welcher die Minuten seit dem 01.01.1970 repräsentiert in ein 'lesbares Format plus dem Offset für die Zeitzone Tabelle3.Range("A" & lastIndex).Value = DateAdd("s", CDbl(jsonObject("aenergy")("minute_ts") + timeZoneOffset), "1/1/1970") 'Speichern der Spannung Tabelle3.Range("B" & lastIndex).Value = jsonObject("voltage") 'Speichern der Frequenz Tabelle3.Range("C" & lastIndex).Value = jsonObject("freq") 'Speichern der Ampere Tabelle3.Range("D" & lastIndex).Value = jsonObject("current") 'Speichern der Leistung Tabelle3.Range("E" & lastIndex).Value = jsonObject("apower") Call formatiereTabelle 'inkrementieren des Zeilenindexes Range("B3").Value = lastIndex + 1 'eine MessageBox anzeigen das die Daten geladen wurden MsgBox "Daten wurden geladen!", vbInformation, "Hinweis..." End If Exit Sub FehlerSendRequest: 'eine Fehlermeldung ausgeben MsgBox "Fehler beim lesen der Daten von " & ipAdresse, vbCritical, "Fehler..." End Sub 'Formatieren der Datentabelle nachdem eine neue Zeile hinzugefügt wurde Sub formatiereTabelle() Dim lastIndex As Integer 'lesen des Zeilenindexes für die anschließende For-Schleife lastIndex = Tabelle4.Range("B3").Value Read the full article
0 notes
linkes-forum · 6 years
Text
Aktiv werden und das Aktionsbündnis Fuchs unterstützen
Infomaterial anfordern und Message verbreiten!
​Über den Fuchs und die Fuchsjagd werden seit jeher viele Falschinformationen verbreitet. Deshalb ist es wichtig, dass wir zu diesem Thema möglichst viele Menschen mit wissenschaftlich fundierten Informationen ansprechen, um letztlich die Rückendeckung für die Forderung einer ganzjährigen Schonzeit für den Rotfuchs zu haben.
​Vielen Dank, dass Sie uns dabei unterstützen wollen!
  Wir haben dazu zunächst ein Banner für die Außenanbringung und  zwei Infopakete zusammengestellt:
Banner: 250 x 100 cm, 500g-PVC-Plane mit Ösen, macht was her am Gartenzaun (bitte schicken Sie uns Ihre Fotos dazu):
zum Vergrößern hier klicken
„Infopaket 1“ enthält 100 Flyer „Unser Freund, der Fuchs„, 6 Aufkleber „Stoppt die Fuchsjagd“ und 4 Aufkleber „Aktionsbündnis Fuchs„.
„Infopaket 2“ enthält 80 Flyer „Füchse, gejagte Überlebenskünstler„, 6 Aufkleber „Stoppt die Fuchsjagd“ und 4 Aufkleber „Aktionsbündnis Fuchs“.
​Die Selbstkosten inklusive Verpackung und Versand betragen jeweils 9.80 Euro für ein Infopaket und 39,80 Euro für ein Außenbanner. Für jede Spende über das Formular auf dieser Seite schicken wir Ihnen auf Wunsch ein Infopaket zu (Versand innerhalb von Deutschland). Für eine Spende von min. 39,80 Euro schicken wir Ihnen auf Wunsch ein Außenbanner zu.Bitte geben Sie für die Zustellung unter Spendenquittung Ihre Anschrift an.
Tipps zur Verbreitung des Infomaterials
online öffnen
online öffnen
                    Verteilen an Freunde, Bekannte und Verwandte Zeigen Sie den Menschen, die Sie persönlich kennen und schätzen, dass Füchse Ihnen am Herzen liegen und dass es richtig ist, sich für deren Schutz einzusetzen.
Auslegen von Infomaterial – Erlaubnis vorausgesetzt, grundsätzlich gilt: Immer freundlich und offen nachfragen, ob der Geschäfts-/Praxisinhaber für die Auslage unserer Flyer offen ist. Dabei schadet es sicher nicht, positive Informationen über Füchse, aber auch die Grausamkeiten, die ihnen angetan werden, zu vermitteln. Ohne Erlaubnis  darf kein Infomaterial ausgelegt werden.
Auslegen in Geschäften Die besten Karten hat man i.d.R. in Bioläden, veganen/vegetarischen Supermärkten, Reformhäusern, Geschäften für Heimtierbedarf und natürlich in Läden, deren Besitzer man persönlich kennt.
Auslegen im Tierheim Tierheime sind oft dem Deutschen Tierschutzbund angeschlossen und dieser setzt sich auch für eine Vollschonung aller Beutegreifer ein. Insofern ist das absolut von den Zielen des Dachverbands gedeckt – darauf kann man auch hinweisen, wenn es (wider Erwarten) Widerstand geben sollte.
Auslegen in Tierarztpraxen Sicher sind nicht alle Tierärzte für unsere Forderungen offen, weil sich unter den Kunden auch Jäger befinden, die man nicht verärgern möchte oder weil der Tierarzt selber Jäger ist. Andere unterstützen ein Fuchsjagdverbot aber – im Zweifelsfall sollte man einfach nachfragen.
Verteilen in Wohngebieten Diese Methode ist vor allem dann sinnvoll, wenn Füchse im Wohngebiet gesichtet wurden. Damit kann man unbegründeten Ängsten und Vorbehalten in der Bevölkerung rechtzeitig entgegenwirken.
Auslegen in Bildungseinrichtungen Schulen, Volkshochschulen, Fachhochschulen, Universitäten etc. verfügen meist über eine „Info-Ecke“ in welcher neben Plakaten, Gesuchen und Notizen an einem schwarzen Brett auch Flyer und Faltblätter ausgelegt werden können.
Sonstige Möglichkeiten zum Auslegen der Flyer Weniger Aussicht auf Erfolg besteht bei Apotheken, Kirchen, Sparkassen, Bäckereien und anderen Geschäften, aber fragen kostet schließlich nichts.
Infostand Wer sich mit dem Thema Füchse und Fuchsjagd gut auskennt, kann auch einen Infostand betreiben und das Infomaterial dort anbieten. Beispielsweise in Fußgängerzonen (Anmeldung beim Ordnungsamt erforderlich, Vorschriften beachten) oder beim Sommerfest des örtlichen Tierschutzvereins (nach Absprache) kann man damit viele Menschen erreichen.
Aufkleber
Aufkleber dürfen natürlich nur auf eigenem Besitz angebracht werden, nicht auf Fremdeigentum.
Trotzdem kann man mit Aufklebern Flagge gegen die Fuchsjagd zeigen – beispielsweise, indem man sie auf dem eigenen Auto oder Laptop anbringt.
Weitere geeignete Orte für Aufkleber: Tablet-PC, Motorrad, Roller, Helm, Aktentasche oder Rucksack (falls der Aufkleber dort haftet), Arbeitsmappe oder Ordner (z. B. an Schule/Uni).
Aktiv werden und das Aktionsbündnis Fuchs unterstützen was originally published on LINKES FORUM
0 notes
exceltricks · 1 year
Text
Excel-Datei reparieren und wiederherstellen
In diesem Blogbeitrag geht es um das wichtige Thema, wie Sie beschädigte Excel-Dateien reparieren und wiederherstellen können. Es ist ärgerlich, wenn Ihre wichtigen Excel-Dateien durch Abstürze, Stromausfälle oder andere Probleme beschädigt werden. Doch zum Glück gibt es in Microsoft Excel einige Möglichkeiten, um Ihre Daten zu retten. Hierzu wurde von Bildner TV ein interessantes YouTube-Video…
Tumblr media
View On WordPress
0 notes
exceltricks · 8 months
Text
Passwort vergessen? Ein neuer Weg zum Umgehen des Blattschutzes in Microsoft Excel
Kennen Sie das Problem, dass Sie eine Arbeitsmappe öffnen möchten, jedoch eine Fehlermeldung erhalten, die besagt, dass die Zelle oder das Diagramm, das Sie ändern möchten, sich auf einem geschützten Blatt befindet? Um Änderungen vorzunehmen, müssen Sie das Blatt entsperren. Aber oh nein, Sie können sich nicht an das Passwort erinnern! Wir zeigen Ihnen heute einen neuen Weg wie Sie dieses Problem…
Tumblr media
View On WordPress
0 notes
draegerit · 1 year
Text
Excel und MySQL verbinden: Datenimport leicht gemacht
Tumblr media
In diesem Beitrag möchte ich dir zeigen, wie du Microsoft Excel mit einer MySQL Datenbank verbindest und Daten aus dieser ausliest und anzeigst. Im vorherigen Beitrag habe ich dir gezeigt, wie man Messdaten eines Shelly Plus 1PM Mini in eine MySQL Datenbank via PowerShell Skript speichert, an diesen möchte ich hier nun anknüpfen.
Tumblr media
Schritt-für-Schritt-Anleitung
Es folgt nun eine kleine Schritt-für-Schritt-Anleitung, in welcher ich dich mitnehmen werden und dir aufzeige wie du: - den benötigten ODBC-Datenbanktreiber installierst, - die Datenquelle unter Microsoft Windows 10 einrichtest, - die Datenbank in Microsoft Excel einrichtest und - die Daten aus der Tabelle ausliest Schritt 1 - Herunterladen & Installieren des ODBC Datenbanktreibers Für die Verbindung zur MySQL Datenbank benötigen wir einen Treiber, diesen können wir unter https://dev.mysql.com/downloads/connector/odbc/ herunterladen.
Tumblr media
Beachte hier, dass du den passenden Treiber 64bit oder 32bit für deine Excel Version wählst! In meinem Fall wähle ich den "Windows (x86, 64-bit), MSI Installer aus", die knall 14 MB große Datei ist schnell heruntergeladen und den Installer kannst du direkt aus dem Browser starten. Ggf. wirst du hier eine Meldung vor potenziell schädlicher Software erhalten, diese kannst du jedoch in diesem Fall mit einem Klick auf die Schaltfläche "OK" bestätigen.
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
Schritt 2 - Einrichten des ODBC Treibers Nachdem der Treiber installiert wurde, müssen wir diesen zunächst in Windows einrichten. Dazu öffnen wir das Startmenü und geben "odbc" ein. Es sollten jetzt 2 Einträge gefunden werden. Hier wählen wir wiederum den Eintrag, welcher zu der Excel-Version passt (64bit oder 32bit).
Tumblr media
In dem neuen Fenster wählen wir unter "Benutzer-DSN" die Schaltfläche "Hinzufügen..."
Tumblr media
Nun wählen wir den Eintrag "MySQL ODBC 8.1 Unicode Driver" aus und bestätigen dieses mit der Schaltfläche "Fertig stellen".
Tumblr media
Im nächsten Fenster müssen wir nun der Verbindung einen Namen vergeben (1) sowie die Serveradresse (2) eingeben. Auf meinem System läuft ein XAMPP mit einem lokalen MySQL Server, daher wähle ich hier "localhost". Der Benutzer "root" (3) hat per Default kein Passwort, diesen können wir nun nutzen um die Verbindung zu testen (4) wenn dieses Erfolgreich war (5) können wir diese Eingaben mit "OK" (6) bestätigen.
Tumblr media
Der MySQL ODBC Treiber wurde nun mit dem Namen "MySQL-Driver" eingerichtet und wir können dieses Fenster mit "OK" verlassen.
Tumblr media
Schritt 3 - Aufbauen der Datenverbindung in Microsoft Excel zur MySQL Datenbank Nachdem wir nun den ODBC Treiber eingerichtet haben, können wir zu Microsoft Excel wechseln und dort die Datenbank einrichten. Zunächst klicken wir auf den Reiter "Daten" (1) und dort wählen wir unter "Daten abrufen" den Eintrag "Aus anderen Quellen" (2) auf. Aus diesem Menü wählen wir nun den Eintrag "Aus ODBC" (3).
Tumblr media
Nun müssen wir unseren zuvor eingerichteten ODBC Treiber für die MySQL Datenbank auswählen und dieses mit "OK" bestätigen.
Tumblr media
Im nächsten Fenster müssen wir jetzt Benutzername und Passwort eingeben. Wie erwähnt hat der Benutzer "root" per Default kein Passwort, daher lasse ich diese hier frei und bestätige die Eingabe mit "Verbinden".
Tumblr media
Wenn die Verbindung erfolgreich hergestellt wurde, dann werden die zum Benutzer berechtigten Tabellen angezeigt. Da ich in meinem Fall den Benutzer "root" gewählt habe werden, hier alle Tabellen aufgelistet. Aus dieser Liste wähle ich die Datenbank "shelly_db" und dort die Tabelle "messdaten" aus und bestätige die Auswahl mit der Schaltfläche "Laden".
Tumblr media
Die Daten werden in der geöffneten Arbeitsmappe geladen und so dargestellt wie in der Datenbank.
Tumblr media
Schritt 4 - Formatieren der Daten Damit die geladenen Daten lesbarer werden, müssen wir dies formatieren. Schritt 4.1 - Formatieren des Zeitstempels Das etwas kompliziertere ist der Zeitstempel, welcher die Minuten seit dem 01.01.01970 repräsentiert. Diesen können wir jedoch mit einer kleinen Funktion in ein Datum/Zeitformat umrechnen. =(ZELLE/86400)+DATUM(1970;1;1) Im nachfolgenden Video zeige ich dir wie du die Spalte "minute_ts" nutzt um eine neue Spalte zu befüllen. In meinem Fall wähle ich ein benutzerdefiniertes Format aus Datum & Uhrzeit. Schritt 4.2 - Spalten formatieren Zum Schluss werden die Spalten noch entsprechend benannt: - apower - Leistungsaufnahme (in Watt pro Stunde), - voltage - Spannung (in Volt), - freq - Frequenz (in Herz), - current - Stromaufnahme (in Ampere)
Tumblr media
Read the full article
0 notes
exceltricks · 1 year
Text
Automatische Aktualisierung von Power Query-Abfragen
In diesem Excel-Tutorial dreht sich alles um die automatische Aktualisierung von Power Query-Abfragen. Vielleicht haben Sie schon einmal eine Excel-Arbeitsmappe mit Power Query-Abfragen erstellt und sich gefragt, wie Sie sicherstellen können, dass diese Abfragen beim Öffnen der Datei immer auf dem neuesten Stand sind. In diesem Artikel werde ich Ihnen zeigen, wie Sie genau das tun können, ohne…
Tumblr media
View On WordPress
0 notes
exceltricks · 1 year
Text
So können Sie trotz geöffneten Power Query Editor andere Excel-Dateien öffnen und bearbeiten
Haben Sie den Power Query Editor in Excel gestartet, dann können Sie in der Regel keine weitere Excel-Arbeitsmappe öffnen, um andere Daten anzusehen. Die Lösung hierfür ist, eine zweite Instanz in Excel zu öffnen. Der Power Query Editor ist ein Tool in Excel, das es ermöglicht, Daten aus verschiedenen Quellen zu importieren, zu transformieren und zu analysieren. Wenn jedoch der Power Query…
Tumblr media
View On WordPress
0 notes
exceltricks · 2 years
Link
0 notes
exceltricks · 3 years
Text
Datei öffnen — VBA Excel Tipps & Tricks
Datei öffnen — VBA Excel Tipps & Tricks
Mit diesem Code kann eine Datei geöffnet werden: Workbooks.open „C:\Test.txt“Datei öffnen — VBA Excel Tipps & Tricks
Tumblr media
View On WordPress
0 notes
exceltricks · 5 years
Text
So können Sie den User eine zu bearbeitende Datei während eines laufenden Makro selbst auswählen lassen
So können Sie den User eine zu bearbeitende Datei während eines laufenden Makro selbst auswählen lassen
In dem Excelblog von Leila Gharani auf xelplus.com wurde ein sehr interessanter Blogbeitrag mit YouTube-Video veröffentlicht. Der Beitrag zeigt wie ein User bei einem laufenden Makro eine zu bearbeitende Datei selbst auswählen kann.
Die Datei mit der irgendwelche Aktionen durchgeführt werden sollen, steht also nicht explizit im VBA-Code selbst oder wird auch nicht als Text in einer Zelle…
View On WordPress
0 notes
exceltricks · 6 years
Text
Bestimmte Zelle beim Öffnen einer Arbeitsmappe automatisch selektieren (VBA)
Bestimmte Zelle beim Öffnen einer Arbeitsmappe automatisch selektieren (VBA)
Wenn Sie eine Arbeitsmappe immer mit einer bestimmten aktivierten Zelle öffnen wollen, dann können Sie dies mit einem Makro erreichen. In dem folgenden Beispiel wird davon ausgegangen, dass immer die Zelle A10 in dem Excelblatt Tabelle1 aktiviert sein soll.
Fügen im VBA-Editor unter „DieseArbeitsmappe“ den folgenden VBA-Code ein:
Private Sub Workbook_Open()
   Worksheets(“Tabelle1”).Select
  …
Auf WordPress ansehen
0 notes
exceltricks · 7 years
Text
Dateiformate für Arbeitsmappen mit Makros
Dateiformate für Arbeitsmappen mit Makros
Arbeitsmappen und Vorlagen, welche Makros enthalten werden ab Excel 2007 durch Dateinamenserweiterungen separat gekennzeichnet. User sollen so die Möglichkeit haben, potenziell gefährliche Dokumente schon beim Öffnen erkennen zu können. Ab Excel 2007 werden die folgenden Dateinamenserweiterung für Arbeitsmappen verwendet, die Makros enthalten:
.xlsm für Arbeitsmappen mit Makros
.xltmfür Vorlagen…
View On WordPress
0 notes
exceltricks · 7 years
Text
Makrowarnung, obwohl keine Makros existieren?
Makrowarnung, obwohl keine Makros existieren?
Sie erhalten eine Makrowarnung, obwohl keine Makros in der Arbeitsmappe existieren?
Wenn Sie eine Arbeitsmappe öffnen, werden Sie möglicherweise aufgefordert, Makros zu aktivieren oder zu deaktivieren – obwohl es keine Makros in der Arbeitsmappe gibt. Diese Meldung kann durch ein leeres VBA-Modul ausgelöst worden sein. Wenn Sie diese Meldung abschalten wollen, dann gehen Sie am besten…
View On WordPress
0 notes
exceltricks · 7 years
Text
Bestimmte Zelle beim Öffnen einer Arbeitsmappe automatisch selektieren (VBA)
Bestimmte Zelle beim Öffnen einer Arbeitsmappe automatisch selektieren (VBA)
Wenn Sie eine Arbeitsmappe immer mit einer bestimmten aktivierten Zelle öffnen wollen, dann können Sie dies mit einem Makro erreichen. In dem folgenden Beispiel wird davon ausgegangen, dass immer die Zelle A10 in dem Excelblatt Tabelle1 aktiviert sein soll.
Fügen im VBA-Editor unter „DieseArbeitsmappe“ den folgenden VBA-Code ein:
Private Sub Workbook_Open()
   Worksheets(“Tabelle1”).Select
  …
Auf WordPress ansehen
0 notes
exceltricks · 7 years
Text
History-Liste beim Öffnen von Arbeitsmappen erweitern
History-Liste beim Öffnen von Arbeitsmappen erweitern
Wenn Sie auf die Registerkarte Datei (Office-Schaltfläche bei Excel 2007) und dann auf Öffnen klicken, dann wird Ihnen eine so genannte History-Liste Ihrer zuletzt geöffneten bzw. verwendeten Arbeitsmappen angezeigt. Sie können so schnell, die zuletzt bearbeiteten Dateien wieder öffnen, indem Sie auf dem Namen der entsprechenden Arbeitsmappe mit der linken Maustaste klicken.
Abbildung:…
View On WordPress
0 notes