Ein Problem jagt das nächste^^

Hallo, ich habe ein Problemchen,
ich möchte gerne für ein Spiel im Internet eine Excell Tabelle erstellen, wo eine kurze Übersicht über Gebäudestufe und Truppenanzahl vorkommt.
Soweit war es kein Problem, habe alle Stufen/ Anzahlen übernommen, Formeln zum berechnen von Bezügen eingegeben und wichtige Fakten/ Zahlen farbig hervorheben können.

Aber nun beginnt mein wirkliches Problem, da sich die Gebäudestufe und die Truppenanzahl ja täglich verändert, ist diese tabelle nie aktuell! Nun besteht meine Frage darin, ob ich irg-wie die Zahl/ Stufe aus dem Browsergame (vielleicht per Quellcode oder so) ins Excell bekomme sobald ich mich angemeldet habe!
(Excell müsste diesen Bezug natürlich auch noch als Zahl erkennen und nicht als Wort z.b. ,24" damit ich damit rechnen kann)

Meine Informatiklehrer und Freunde mit Programmierkenntnissen konnten mir auch keine Antwort geben, ich hoffe sehr das es möglich ist, und wenn, das jemand die Antwort zu meinem Problem weiß =)

Schonmal ein Großes DANKESCHÖN an alle die sich in diese Frage versucht haben hinein zudenken^^
MfG Phenix

Hallo Phenix

ich möchte gerne für ein Spiel im Internet eine Excell Tabelle
erstellen

Aber nun beginnt mein wirkliches Problem

das glaube ich gern :wink:

da sich die
Gebäudestufe und die Truppenanzahl ja täglich verändert

Warum zum Teufel nimmst Du ausgerechnet eine Excel-Tabelle für sowas? Jede Datenbank, eventuell sogar eine vernünftig strukturierte Datei, die Du mit einer Skriptsprache deiner Wahl aus- und einliest, ist da besser geeignet.
Das soll nicht heissen, daß es für eine Excel-Tabelle nicht auch eine Schnittstelle gibt, aber offenbar liegen für Datenbanken u.ä. die Lösungen auf der Hand, während sie sich für deine Excel-Tabelle schon viel besser verstecken :wink:

Viele Grüße
Marvin

Warum zum Teufel nimmst Du ausgerechnet eine Excel-Tabelle für
sowas?

Weil sich die Bezüge sehr einfach herstellen lassen
und ich mich schon gut in Excell eingearbeitet habe :wink:
und gut damit klar komme^^

Jede Datenbank, eventuell sogar eine vernünftig
strukturierte Datei, die Du mit einer Skriptsprache deiner
Wahl aus- und einliest, ist da besser geeignet.

Mhh stimmt, also könnte ich diese Bezuggröße von der Internetseite
mit hilfe einer datenbank übernehmen (so das sie sich selbstständig beim einlogen z.B. aktuallisiert) ??

*(z.B. die wechselnde Anzahl der Freunde bei facebook)

Grüezi Phenix

Aber nun beginnt mein wirkliches Problem, da sich die
Gebäudestufe und die Truppenanzahl ja täglich verändert, ist
diese tabelle nie aktuell! Nun besteht meine Frage darin, ob
ich irg-wie die Zahl/ Stufe aus dem Browsergame (vielleicht
per Quellcode oder so) ins Excell bekomme sobald ich mich
angemeldet habe!
(Excell müsste diesen Bezug natürlich auch noch als Zahl
erkennen und nicht als Wort z.b. ,24" damit ich damit rechnen
kann)

Hast Du es schon mal mit einer Web-Abfrage versucht?
Damit kannst Du auf Seiten im WWW zugreifen und Daten von dort importieren.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Phenix,

Warum zum Teufel nimmst Du ausgerechnet eine Excel-Tabelle für
sowas?

Weil sich die Bezüge sehr einfach herstellen lassen
und ich mich schon gut in Excell eingearbeitet habe :wink:
und gut damit klar komme^^

Ok, das ist ein Grund. Ich war wohl etwas zu heftig…

Mhh stimmt, also könnte ich diese Bezuggröße von der
Internetseite
mit hilfe einer datenbank übernehmen

Nein, nicht mit Hilfe einer Datenbank. Da hast Du mich falsch verstanden. So etwas kannst Du mit Hilfe einer Programmier- oder Skriptsprache machen (also mit C, Perl, Ruby, Java usw.) Welche Du eben kennst oder bevorzugst. Und alle diese Sprachen haben wiederum Schnittstellen, mit denen sie dann die ausgelesenen Daten in eine Datenbank füllen.
Im Klartext:
Dein Programm/Skript liest die gewünschten Daten aus der Homepage (Zahl der Panzer, Anzahl der Feunde bei Facebook …) und schreibt sie in eine Datenbank. Wie das konkret geht, hängt natürlich von der jeweiligen Struktur der Homepage ab.
Und der Vorteil einer Datenbank wäre der, daß es für das Schreiben in eine Datenbank schon viele Lösungen gibt, während ich für das Schreiben in eine Excel-Datei eher keine kenne. Das kann natürlich auch einfach ein Problem von mir sein, daß ich diese Lösungen nicht kenne. Thomas hat ja weiter oben etwas angedeutet, aber da müsste er etwas konkreter werden. Ich kann aus seiner Antwort jedenfalls noch keinen Lösungsweg erkennen.
Wahrscheinlich ist deine Frage auch in einem der Programmierbretter besser aufgehoben, weil eben das Problem darin besteht, „wie fülle ich mit einer gegebenen Programmier-/Skriptsprache eine Exceltabelle?“, wenn Du aus deinen oben genannten und durchaus verständlichen Gründen bei einer Exceltabelle bleiben willst.

Hoffe, daß jetzt nicht alles noch unklarer als vorher ist :wink:

Viele Grüße
Marvin

Ergänzung Web-Abfrage
Hallo Phenix,
jetzt bin ich in Bezug auf Webabfrage etwas schlauer (Google sei Dank :wink:. So etwas gibt es in Excel tatsächlich, scheint also für dich der gangbarste Weg zu sein. Aber auf diesem Gebiet gebe ich den Staffelstab gern an Thomas weiter.

Viele Grüße
Marvin

THX, das hat mir wirklich sehr viel weiter geholfen,
jetzt weiß ich endlich wie ich es angehen soll =)

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