Datenbankerstellung per Webabfrage in Excel
#11
Hallöchen,

im Prinzip würde es mit diesem Einzeiler gehen:

...
range("A1:A" & cells(rows.count,1).end(xlup).row).copy Cells(1, Columns.Count).End(xlToLeft).Offset(0,1)

Auf der linken Seite nimmst Du den gefüllten Bereich von Spalte A und kopierst ihn in die Spalte neben der letzten belegten Zelle von Zeile 1.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • copamundial
Top
#12
Danke! Der Teil funktioniert schonmal ::) Leider bekomme ich von Excel die Fehlermeldung: "Das Makro "Mappe1!Intervall kann nicht ausgeführt werden. Das Makro ist möglicherweise in dieser Arbeitsmappe nicht verfügbar, oder alle Makros wurden deaktiviert." Zweiteres kann ich ausschließen, habe alle Makros zugelassen. Kennt jemand das Problem und hat eine Lösung parat? Mein Code sieht jetzt übrigens so aus:
Code:
Intervall()

   Dim NextTime As Date
   NextTime = Now + TimeValue("00:01: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()
Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row).Copy Cells(1, Columns.Count).End(xlToLeft).Offset(0, 1)
End Sub
Top
#13
Niemand eine Idee hierzu? :/ Macht mein Code denn Sinn? Wie gesagt, bin noch absoluter Einsteiger...
Top
#14
Hallöchen,

in Deinem geposteten Code fehlt das Sub ...

Korrekt wäre

Sub Intervall()
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#15
Hallo! :) Danke für die schnelle Hilfe! Code funktioniert jetzt fast perfekt, sieht jetzt so aus:
Code:
Sub Intervall()

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

End Sub
Sub My_Procedure()
Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row).Copy Cells(1, Columns.Count).End(xlToLeft).Offset(0, 1)
End Sub
 Einziges Problem ist folgendes: Das Makro kopiert ja wunderbar die erste Spalte in die nächste nichtleere Spalte. Soweit so gut. Allerdings wird damit die Webabfrage mit kopiert und somit entsteht keine Zeitreihe. Ich müsste den Code so abändern, dass in die nächste Spalte nur die Werte ohne Formatierung und Datenverbindung eingefügt werden. Wie geht so etwas? Ich hoffe, dass es dann endgültig läuft.
Top
#16
Hallöchen,

Du müsstest das Einfügen etwas anders gestalten, z.B. so in zwei Zeilen:

Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row).Copy
Cells(1, Columns.Count).End(xlToLeft).Offset(0, 1).PasteSpecial Paste:=xlValues

Was da alles mit PasteSpecial möglich ist, könntest Du auch mit dem Makrorekorder aufzeichnen, z.B. Einfügen von Formeln, Formaten usw.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • copamundial
Top
#17
Hallo copamundial,

auf welche Art führst Du die Datenbankerstellung per Webabfrage in Excel aus?
Top
#18
Einfach über den Reiter "Daten" und dann "aus dem Web". @schauan vielen, vielen Dank, jetzt funktioniert endlich alles so wie es soll :)
Top


Gehe zu:


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