Registriert seit: 04.03.2016
Version(en): 2013
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!
Registriert seit: 28.05.2014
Version(en): 2013 / 2016
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!
Registriert seit: 04.03.2016
Version(en): 2013
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.
Registriert seit: 28.05.2014
Version(en): 2013 / 2016
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:1 Nutzer sagt Danke an GMG-CC für diesen Beitrag 28
• copamundial
Registriert seit: 04.03.2016
Version(en): 2013
hmm..okay. weiß trotzdem jemand wie man das am einfachsten über ein makro laufen lässt?
Registriert seit: 28.05.2014
Version(en): 2013 / 2016
05.03.2016, 21:26
(Dieser Beitrag wurde zuletzt bearbeitet: 05.03.2016, 21:26 von GMG-CC.)
Ja, ich (wäre auch traurig, wenn nicht
)
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!
Registriert seit: 04.03.2016
Version(en): 2013
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.shtmlUnd 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?
Registriert seit: 10.04.2014
Version(en): 2016 + 365
07.03.2016, 11:18
(Dieser Beitrag wurde zuletzt bearbeitet: 07.03.2016, 11:18 von Rabe.)
Hi,
(06.03.2016, 23: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
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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)
Registriert seit: 04.03.2016
Version(en): 2013
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