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.

Datenbankerstellung per Webabfrage in Excel
#1
Hallo zusammen,
ich möchte per Webabfrage externe Daten aus dem Internet in eine Exceltabelle einspeisen und periodisch aktualisieren. Das geht ja problemlos in Excel. Allerdings überschreibt Excel bei der Aktualisierung die alten Werte automatisch. Ich möchte aber eine Art Datenbank erstellen d.h., dass ich auch mit den "alten" Werten weiterhin arbeiten möchte. Ich habe schon viel im Internet gelesen, allerdings nichts passendes gefunden. Daher hier mal meine Frage, ob jemand eine Idee dazu hat? 

Vielen Dank im Voraus und liebe Grüße!
Antworten Top
#2
Moin,

speichere einfach die Blätter vor der Aktualisierung ab und fasse diese bei Bedarf beispielsweise mit PivotTable zusammen.
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
#3
Erstmal Danke für die schnelle Antwort! Kann man das auch per Makro automatisch ausführen lassen? Die Datenbank soll sich jede Stunde automatisch aktualisieren, da ist es sehr lästig wenn man dann jedes mal von Hand speichern muss.
Antworten Top
#4
Ich denke schon, dass es geht. Aber ich denke auch, dass du da schnell an die Grenzen des Excel kommst. Wahrscheinlich ist hier eine echte Datenbank viel sinnvoller, weil sich doch wohl rasch ziemlich viele Daten ansammeln.
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!
[-] Folgende(r) 1 Nutzer sagt Danke an GMG-CC für diesen Beitrag:
  • copamundial
Antworten Top
#5
hmm..okay. weiß trotzdem jemand wie man das am einfachsten über ein makro laufen lässt?
Antworten Top
#6
Ja, ich (wäre auch traurig, wenn nicht Blush )

Aber "einfach" ist das nicht! Aber im Sinne so ziemlich aller Fachforen, nämlich Hilfe zur Selbsthilfe anzubieten: Schau dir mal Application.OnTime an und ergründe vor allen Dingen im Netz auch die Tücken, welche diese Anweisung in sich birgt. - Auf der anderen Seite: Ein erfahrener Dienstleister nimmt dir das Coden gewiss gerne ab. Und wenn es nur für private Zwecke ist, dann eben selbst programmieren und mit eventuellen Misserfolgen leben lernen.
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
#7
Habe schon viel im Internet dazu gelesen und auch schon ein bisschen selbst programmiert. Ausgangspunkt war ein Application.OnTime Code. Habe das mal als Basis genommen: http://www.vb-fun.de/cgi-bin/loadframe.p...0087.shtml
Und dann per Makrorekorder den Befehl aufgenommen Spalte A unter relativen Bezügen in Spalte B zu verschieben. Das hat soweit auch funktioniert. Leider ist aber die Abfrage ja nur in Spalte A gespeichert. Ich bräuchte also einen Code der automatisch alle 60 Minuten die Inhalte von Spalte A in Spalte B und dann in Spalte C und so weiter kopiert. Diesen könnte ich ja dann mit dem oben genannten Code koppeln und dann sollte das ja funktionieren oder? Leider weiß ich nicht wie der "Kopiercode" aussehen müsste. Kannst du mir da helfen? Und macht die Vorgehensweise so überhaupt Sinn?
Antworten Top
#8
Hi,

(06.03.2016, 22:53)copamundial schrieb: Und dann per Makrorekorder den Befehl aufgenommen Spalte A unter relativen Bezügen in Spalte B zu verschieben.

Du solltest die Daten nicht verschieben, sondern die Spalte kopieren und in B nur die Werte einfügen.

Wenn Du dann noch vorher die erste freie Spalte ermittelst, weißt Du auch, wohin die Daten eingefügt werden können.

Code:
Dim lngLetzteSpalte as Long
Dim lngErsteFreieSpalte as Long

lngLetzteSpalte = ActiveSheet.Cells(4, Columns.Count).End(xlToLeft).Column           'letzte belegte Spalte in Zeile D (4), anpassen!
lngErsteFreieSpalte = lngLetzteSpalte + 1
Antworten Top
#9
Hallöchen,

wenn die Reihenfolge anders herum sein kann, bräuchtest Du einfach nur Spalte A bis zur vorletzten kopieren und dann in B1 Werte einfügen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#10
Hallo,

wie sähe denn ein entsprechender Code aus? Ich müsste ja einen Application on Time Befehl mit dem Kopieren Befehl verbinden oder? Kenne mich leider mit VBA kaum aus von daher stehe ich da vor einem Problem... Habe es mal so versucht, funktioniert aber leider nicht.
Code:
Sub Intervall()

    Dim NextTime As Date
    NextTime = Now + TimeValue("00:15:00")  'Zeitintervall festlegen, hier 15 Minuten
    Application.OnTime NextTime, "Intervall"
    Call My_Procedure    'Eingabe von Schritt, der wiederholt werden soll

End Sub
Sub My_Procedure()
    Dim lngLetzteSpalte As Long
Dim lngErsteFreieSpalte As Long

lngLetzteSpalte = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column           'letzte belegte Spalte in Zeile D (4), anpassen!
lngErsteFreieSpalte = lngLetzteSpalte + 1
End Sub
Antworten Top


Gehe zu:


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