Web Abfrage Änderungen chronologisch auflisten
THX, das hat mir wirklich sehr viel weiter geholfen,
jetzt weiß ich endlich wie ich es angehen soll =)
Hallo Phenix,
eine Webabfrage in Excel ist recht leicht zu erstellen. Dort kannst du auch angeben alle wieviele Minuten neu angefragt werden soll.
Minimum ist 1 Minute *glaub*
Mir nicht bekannt wie es mit Excel selbst geht, aber mit Vba kannst du leicht immer nach jeder Aktualisierung, die werte die du willst rausfiltern und irgendwo in einem anderen Blatt untereinander auflisten lassen.
So siehst du dann deine Truppenstärke o.ä. schwanken über den tag, die Woche, das Jahr.
Daraus dann ein Diagramm zu machen ist ja dann einfach.
Um das zu testen, gehe auf das Blatt mit der Webabfrage, erstelle sie. Wenn sie klappt, merke dir die Zellen die du rausfiltern willst.
Achja, vorher schreibst du in eine völlig beliebige Zelle, aber außerhalb des Bereiches den die Webabfrage immer beschreibt die Formel
=A1
Klicke dann mit Rechts unten auf den Blattnamen, mit links auf „Code anzeigen“, dorthinein kopierst du den nachfolgenden Code.
Änderst die Auslesezellen, im Beispiel B17 und E17 eentsprechend ab, schließt den Editor und fertig.
Wie du nach meiner Kurzerklärung gleich erkennen kannst entscheidet die Codezeile:
.Range(„A“ & Zei).Value = wks2.Range(„B17“).Value
darüber welche Zelle aus dem Abfrageblatt wohin im Listenblatt geschrieben wird.
Die B17 als die Zelle im Abfrageblatt ist ja leicht zu erkennen.
Das „A“ gibt die Spalte im Listenblatt an, in der geschrieben werden soll.
Zei ist nur der zeilenzähler, der sich immer um eins erhöht.
Pro auszulesender Zelle brauchst du je einaml diese Codezeile.
Der Code reicht erstmal für 65536 malige Benutzung, dann ist meist die Spalte voll. Dann melde dich nochmal, dann wird der Code verändert und schreibt dann in einer neuen Spalte weiter.
Private Sub Worksheet\_Calculate()
Dim Zei As Long, wks1 As Worksheet, wks2 As Worksheet
'Tabelle wo die fortlaufende Liste erscheinen soll
Set wks1 = Worksheets("Tabelle1")
'Tabelle mit der Webabfrage
Set wks2 = Worksheets("Tabelle4")
With wks1
Zei = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Range("A" & Zei).Value = wks2.Range("B17").Value
.Range("B" & Zei).Value = wks2.Range("E17").Value
End With
End Sub
Gruß
Reinhard