Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
356to360
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
356to360
356to360
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Webabfrage VBA

Webabfrage VBA
01.01.2004 23:41:52
Felixxx
Hallo
kann mir jmd helfen, ich habe ne webabfrage normal mit Daten->Externe Daten importieren... und will das an nem Button festmachen. weil ich hab mehrere sheets wo ich immer aktualisieren will und manchmal net alle. darum würd ich mehr makros machen aber weiß net mal wie ich das machen soll mit vba. mir würd schon reichen wenn mir jmd sagt wie der vba-code aussehen würd wo man eine bestimmt tabelle von der html-site runterladen kann

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Webabfrage VBA
01.01.2004 23:46:52
Josef Ehrensberger
Hallo Felix,

starte den Makrorecorder und führe Deine
Web-Abfrage durch.

Der aufgezeichnete Code liefert Dir dann die Basis
für Dein Makro.

Gruß Sepp
AW: Webabfrage VBA
02.01.2004 00:27:26
Felixxx
Danke! Das is ja wirklich easy!
Kann ich das makro dann zentral anlegen um für alle meine sheets drauf zugreifen zu können? also er legt mir das in nem modul an und ich habs public gemacht. hab dann auf meinem sheet(tabelle114) nen button und mit Call Webabruf(Tabelle114, "http://url") soll das loslegen. aber es tut sich nix. auch net wenn ich das makro Webabruf direkt in die tabelle114 leg...
Anzeige
AW: Webabfrage VBA
02.01.2004 00:47:11
Josef Ehrensberger
Hallo Felix,

woher nimmst Du die Adresse für die Abfrage?

Handelt es sich immer um die gleiche Abfrage
oder um verschiedene?

Wo wir das Ergebnis der Abfrage eingefügt (neues oder bestehendes Blatt)?

Mit ein paar Informationen wäre es leichter Dir zu helfen.

Gruß Sepp
AW: Webabfrage VBA
02.01.2004 01:03:48
Felixxx
Also ich hab ca. 100 sheets im moment mit der normalen abfrage von excel. jedes sheet benutzt nen anderen link und die daten werden immer überschrieben. also ist es ein bestehendes blatt. weil ich net überall auf jedem sheet bei vba das selbe makro machen wollt hab ich es in dem modul gelassen und das soweit verändert das in der klammer hinter dem makronamen die variablen sheet, url und name stehen. das sind die einzigen daten wo überall anders sind. dann hab ich auf dem sheet wo die daten nachher hin sollen das makro mit den daten in der klammer aufgerufen. aber dann funzt das net mehr, vorher gings...aber auch nur wenn ich das sheet wo es rein sollt aktuell offen hab. ich wollt aber nachher auf einem sheet nen button haben und mehrere abfragen starten ohne die sheets offen zu haben. hoffe das reicht an informationen
Anzeige
reicht leider nicht!
02.01.2004 01:21:40
Josef Ehrensberger
Hi,

wo in den Sheets stehen die URL und der Name?

"...ich wollt aber nachher auf einem sheet nen button haben und mehrere abfragen starten ..."

Mehrere Abfragen, was soll das heisen? zwei, drei, fünfzig?

Wie willst Du die Abfragen auswählen?

Ohne vernünftige Informationen kann ich Dir leider nicht helfen!

Gruß Sepp
AW: reicht leider nicht!
02.01.2004 01:28:51
Felixxx
Hallo Sepp,
danke für deine Mühe

Die Url und der name stehen net im sheet, die wollt ich manuell in die makros machen. wenn du aber schon so fragst überleg ich ob ich nen extra sheet für die namen und urls anlege damit man später besser ändern kann weil sich die sheetnamen auch mal ändern können.

mehrere abfragen heißt ich habe 100 sheets und die kann ich in 5 bereiche einteilen, d.h. ich wollte 5 button machen wo ich dann jeweils 20 verschiedene sheets aktualisiere. und ein button womit ich dann alle sheets aktualisiere. hat den grund, das 5 verschiedene leute 5 verschiedene bereiche benutzen. darum will net jeder alles aktualisieren also 5 button.

auswählen tu ich die abfragen net weil das mit den button dann feststeht was aktualisiert werden soll.

reicht das? :)

gruß felix
Anzeige
AW: reicht leider nicht!
02.01.2004 02:22:56
Josef Ehrensberger
Hallo Felix,

so einfach ist das nicht zu machen, ohne den
genauen Aufbau deiner Tabellen zu kennen.

Ich hab Dir deshalb eine Beispielmappe erstellt.

https://www.herber.de/bbs/user/2675.xls

Die Mappe ist, so glaube ich, recht gut erklärt.

Die abfrage wird mit einem Button gestartet und über
eine Userform wird die Auswahl für die Benutzer getroffen.

Es sind ausser dem Code der UF nur zwei Makros.
Eines zum Anzeigen der UF und das Abfragemakro.

Die Parameter der Abfrage musst Du natürlich an Deine
wünsche anpassen.

Wenn Du weitere Fragen hast, dann melde Dich wieder!

Gruß Sepp
Anzeige
AW: reicht leider nicht!
02.01.2004 03:12:36
Felixxx
hm danke aber das funzt net :(

und so wollt ich das auch net machen...kann ich net so machen. ich hab 100 sheets und das 101. sheet da sind alle steuerungsbutton drauf um die daten zu aktualisieren z.b.

und zum aktualisieren kann ich eben nur dann auf einen der 5 button klicken...und dann sollten sich 20 sheets aktualisieren...wenn du magst kann ich dir das gern mal zeigen wies ausschaut. weil ich komplett ohne userform arbeite (wegen keiner ahnung :( )
AW: reicht leider nicht!
02.01.2004 13:37:59
Josef Ehrensberger
Hi Felix,

also wenn die Datei nicht zu gross ist und keine sensiblen Date
enthält, kannst Du Sie gerne hochladen.

Du musst aber auch beschreiben welche Sheets zu welcher Gruppe
gehören und von wo die Parameter für die aktualisierung kommen!

Gruß Sepp
Anzeige
AW: reicht leider nicht!
02.01.2004 17:36:08
Felixxx
is leider zu groß dafür. hab das heut nochmal probiert und ausgeschlafen funzt das doch :)

trotzdem bekomm ich das makro net angepasst an meine sheets. also ich hab ein sheet wo jetzt alle daten drin stehen:

tabellenname, url, name
sheet1, www.test.de, name
sheet2, www.test2.de, name

so und ich hab laut dem beispiel jetzt 2 sheets und auf sheet "start" hab ich einen button mit deinem angepassten makro:


Sub TestAktual()
Dim wks As Worksheet
Dim strURL As String
wks = Tabelle10.Range("A2")
strURL = Tabelle10.Range("B2")
With wks.QueryTables.Add(Connection:="URL;" & strURL, _
Destination:=wks.Range("A5"))
.Name = Tabelle10.Range("C2")
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlAllTables
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
End Sub


wks, strUrl und name lese ich aus tabelle10 ab. das ist nur ein test gewesen also nur auf sheet1 zugeschnitten. aber der debugger springt an und sagt mir einen fehler bei "wks = Tabelle10.Range("A2")"...bestimmt weil wks das sheet is und er einen string einliest. trotzdem is der string das sheet wo das ganze dan rein soll...

also die sheets sieht man eigentlich net, nur das sheet "start" darum wird die ganze aktualisierung von diesem sheet gehen und darum hab ich den button da drauf.

vielleicht weißt du warum das nicht geht, wenns hilft kann ich das excelprog bestimmt soweit kürzen das alles nötige drin is um das zu zeigen wie es ausschaut und sein soll
Anzeige
AW: reicht leider nicht!
02.01.2004 17:47:29
Josef Ehrensberger
Hi felix,

probier mal

Set wks = Sheets(Sheets("Tabelle10").Range("A"").Text)

Gruß Sepp
soll natürlich .Range("A2").Text) heisen o.T.
02.01.2004 17:48:58
Josef Ehrensberger
/
AW: reicht leider nicht!
02.01.2004 17:54:46
Felixxx
hm jetzt sagt der da is ok...aber das macht er rot:

With wks.QueryTables.Add(Connection:="URL;" & strURL,
Destination:=wks.Range("A5"))
Adresse ist falsch!
02.01.2004 18:08:03
Josef Ehrensberger
Hi,

Du hast die Prüfroutine für die Adresse nicht im Code!
Also entweder Du fügst diese Codezeilen ein,

If Not Left(strURL, 7) = "http://" Then
'Check ob Adresse korrekt
strURL = "http://" & strURL
End If

oder Du schreibst in der Tabelle mit den Adressen, die Adressen voll-
ständig, also mit "http://" am Anfang!

Und wenn die Adresse Falsch ist kommt natürlich eine fehlermeldung
Anzeige
AW: Adresse ist falsch!
02.01.2004 18:11:37
Felixxx
muss dich enttäuschen. das is net der fehler weil ich "http://" mit in der adresse habe...und er macht das auch mit der if-anweisung noch rot
AW: Adresse ist falsch!
02.01.2004 18:18:11
Josef Ehrensberger
Hi,
Du hast siche noch stehen

strURL = Tabelle10.Range("B2")

mus aber

strURL = wks.Range("B2")

heisen!

Besser wäre es wenn Du eine abgespeckte Tabelle hochlädst!

Gruß Sepp
AW: Adresse ist falsch!
02.01.2004 18:34:36
Felixxx
ok hier schau mal

https://www.herber.de/bbs/user/2690.xls

-tabelle Webabfrage da stehen alle daten zum webabruf...
-die tabellen sind die beiden (zum testen nur 2)
-tabelle "start" wird nachher nur angezeigt und da läuft alles von zentral. der rote button is mein testbutton für das eine sheet...
-wie es aufgebaut is solls nachher laufen und pro button wie gesagt gibt es ca.20 sheets wo dann aktualisiert werden
Anzeige
Probier mal!
02.01.2004 19:56:39
Josef Ehrensberger
Hallo Felix!

Sieh Dir mal die Mappe an!

Ich glaub das ist schon recht gut.

https://www.herber.de/bbs/user/2691.xls

In der Tabelle "webAbfrage" erklärt sich die vorgehensweise selber.

Probieres aus und melde dich wieder.

Gruß Sepp
AW: Probier mal!
02.01.2004 20:32:38
Felixxx
boah is ja geil! das funzt genau wie es laufen soll und sogar besser :D
supergeil thx! bis zum nächsten prob ;) nee war spaß hier schau ich immer gern vorbei :)
Danke für die Rückmeldung (o.T.)
02.01.2004 20:35:41
Josef Ehrensberger
/

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige