Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
288to292
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
288to292
288to292
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fehler bei Webabfrage

Fehler bei Webabfrage
05.08.2003 15:14:33
Megatron (Jens)
Hallo Leute,
ich habe ein kleines Denkproblem bei dem ich im Moment nicht weiterkomme.
Über eine Webabfrage hole ich einige Informationen aus dem Netz, die ich danach weiterverarbeite.
Ich bin mit meiner Abteilung umgezogen und habe hierbei auch das Netzwerk gewechselt. Vorher 16MBit Token Ring, jetzt 100MBit LAN (normal).
Bisher funktionierte meine Abfrage einwandfrei. Seit dem Umzug tritt allerdings ein seltsamer Fehler auf.
Nach dem Start des Makros wird ganz normal der User sowie das Passwort für den Netzzugang über das Firmennetz eingegeben. Gleichzeitig öffnet sich aber auch schon der Testmodus für das Makro und die Zeile
".Refresh BackgroundQuery:=False" wird gelb hinterlegt.
Gehe ich jetzt auf Fortsetzen ohne etwas zu ändern wird das Programm ganz normal ausgeführt. Auch bei jeder weiteren Abfrage die ausgeführt wird solange Excel nicht neu gestartet wurde tritt kein Fehler mehr auf (Erst nach Neustart!).
Hier ein Teil des Programmcodes:
With ActiveSheet.QueryTables.Add(Connection:= _
"FINDER;C:\TEMP\LUA Tageswerte.iqy", Destination:= _
Range("A1"))
.FieldNames = False
.RefreshStyle = xlInsertDeleteCells
.RowNumbers = False
.FillAdjacentFormulas = False
.RefreshOnFileOpen = False
.HasAutoFormat = True
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SavePassword = False
.SaveData = True
End With
Hat irgendjemand eine Idee woran das liegen könnte?
Für mich ist es nicht so wichtig, ich kenne ja den Fehler, für meine Kollegen aber, die die Abfrage einsetzen ist das natürlich ziemlich verwirrend - und es wirkt auch nicht mehr so gut, wenn immer wieder ein Fehler auftritt!
Ich wäre Euch sehr dankbar, wenn Euch eine Lösung (ein Ansatz) einfallen würde!
Vielen Dank im Vorraus!
Gruß
Jens

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler bei Webabfrage
05.08.2003 15:31:06
Ivan
hi Jens
auszug aus der vba hilfe:BackgroundQuery
Stellt die Tabelle eines Arbeitsblattes dar, deren Daten aus einer externen Datenquelle, z.B. einem SQL-Server oder einer Microsoft Access-Datenbank, zurückgegeben werden. Das QueryTable-Objekt ist ein Element der QueryTables-Auflistung.
versuche folgendes
deaktiviere es mit''''
'BackgroundQuery:=False
oder
lösche es weg!
ich finde es unötig da es ja auf False steht.
gruss
ivan

AW: Fehler bei Webabfrage
05.08.2003 15:47:33
Megatron (Jens)
Hallo Ivan,
prinzipiell hast Du recht, allerdings funktioniert dann die Abfrage überhaupt nicht mehr!
Kann es selbst nicht ganz nachvollziehen! Es werden dann einfach keine Daten aus dem Netz geholt.
Wäre für jeden weiteren Tip dankbar!
Gruß
Jens

Anzeige
AW: Fehler bei Webabfrage
05.08.2003 15:55:52
Ivan
hi Jens
ich vermute eine if abfrage steck dahinter!
if Refresh.BackgroundQuery:=False Then
und macht er die abfrage.
poste mal den teil des codes wo das drinnensteht!
gruss
ivan

AW: Fehler bei Webabfrage
05.08.2003 16:05:02
Ivan
hi Jens
sorry der code ist ja eh da!:))lol
mir ist aufgefallen das
ein wiederspruch da ist
BackgroundQuery = True
Refresh BackgroundQuery:=False'versuche mal auf true
gruss
ivan

AW: Fehler bei Webabfrage
05.08.2003 17:18:27
Megatron (Jens)
Sorry Ivan, dass ich jetzt erst antworte - bei uns war ein bischen Chaos!
Habe Deinen Vorschlag ausprobiert!
Es funktioniert wirklich nur in der Konfiguration wie ich sie gepostet habe.
Ansonsten zieht das Makro einfach keine Daten.
Habe mir auch die Hilfe noch mal durchgelesen - danach müsste alles stimmen!
Ich finde den Fehler einfach nicht - zweifle langsam an meinen sowieso schon nicht so großen Fähigkeiten.
Bin für jeden Vorschlag dankbar!
Gruß
Jens
ps: Bin erst morgen ab ca. 7:30 wieder im Netz (hoffe dann weitere Vorschläge zu finden.)
pps:Hänge mal einen großen Teil des Codes an vielleicht hilft es:
Sub Abfrage()
'
' Abfrage Makro
'
' Tastenkombination: Strg+t
'
'---------------------------------------------------------------------------------------
'Löschen der vorhandenen Abfrage
'---------------------------------------------------------------------------------------
Dim Ergebnis
Dim Filenum As Integer
Dim Monat As String
Dim Tag As String
Dim Datum As Long
Dim Datum1 As Long
Dim Datum2 As String
Dim Datum3 As String
Dim Zeile As Long
Dim Pu1 As String
Dim Pu2 As String
Dim Pu3 As String
Sheets(2).Select
Zeile = Cells(65536, 1).End(xlUp).Row
Range("X" & Zeile).Select
ActiveCell.FormulaR1C1 = "=MID(RC[-23],1,2)"
Range("Y" & Zeile).Select
ActiveCell.FormulaR1C1 = "=MID(RC[-24],4,2)"
'folgender Tag

Datum = Cells(Zeile, 24)
Datum1 = Cells(Zeile, 25)
Datum2 = Datum + 1

If Datum = 1 Then Datum2 = "02"
If Datum = 2 Then Datum2 = "03"
If Datum = 3 Then Datum2 = "04"
If Datum = 4 Then Datum2 = "05"
If Datum = 5 Then Datum2 = "06"
If Datum = 6 Then Datum2 = "07"
If Datum = 7 Then Datum2 = "08"
If Datum = 8 Then Datum2 = "09"
'Monatsende
If Datum = 31 And Datum1 = 1 Then Datum2 = "01"
If Datum = 28 And Datum1 = 2 Then Datum2 = "01"
If Datum = 31 And Datum1 = 3 Then Datum2 = "01"
If Datum = 30 And Datum1 = 4 Then Datum2 = "01"
If Datum = 31 And Datum1 = 5 Then Datum2 = "01"
If Datum = 30 And Datum1 = 6 Then Datum2 = "01"
If Datum = 31 And Datum1 = 7 Then Datum2 = "01"
If Datum = 31 And Datum1 = 8 Then Datum2 = "01"
If Datum = 30 And Datum1 = 9 Then Datum2 = "01"
If Datum = 31 And Datum1 = 10 Then Datum2 = "01"
If Datum = 30 And Datum1 = 11 Then Datum2 = "01"
If Datum = 31 And Datum1 = 12 Then Datum2 = "01"

'Monat

Datum1 = Cells(Zeile, 25)
Datum3 = "0" & Datum1

If Datum1 = 10 Then Datum3 = "10"
If Datum1 = 11 Then Datum3 = "11"
If Datum1 = 12 Then Datum3 = "12"
'Monatsende

If Datum1 = 12 And Datum = 31 Then Datum3 = "01"
If Datum1 = 1 And Datum = 31 Then Datum3 = "02"
If Datum1 = 2 And Datum = 28 Then Datum3 = "03"
If Datum1 = 3 And Datum = 31 Then Datum3 = "04"
If Datum1 = 4 And Datum = 30 Then Datum3 = "05"
If Datum1 = 5 And Datum = 31 Then Datum3 = "06"
If Datum1 = 6 And Datum = 30 Then Datum3 = "07"
If Datum1 = 7 And Datum = 31 Then Datum3 = "08"
If Datum1 = 8 And Datum = 31 Then Datum3 = "09"
If Datum1 = 9 And Datum = 30 Then Datum3 = "10"
If Datum1 = 10 And Datum = 31 Then Datum3 = "11"
If Datum1 = 11 And Datum = 30 Then Datum3 = "12"

Filenum = FreeFile()

Dim Dateiname As String

pfadname$ = "C:\TEMP\*.*"
Dateiname$ = Dir$(pfadname, 0)

Do While Dateiname$ <> ""
If LCase(Dateiname$) = "lua tageswerte.iqy" Then
Kill Left(pfadname, 8) & "LUA Tageswerte.iqy"
Exit Do
End If
Dateiname$ = Dir$()
Loop
'---------------------------------------------------------------------------------------
'Schreiben der neuen Abfrage
'---------------------------------------------------------------------------------------
Open Left(pfadname, 8) & "LUA Tageswerte.iqy" For Append As Filenum

Print #Filenum, "WEB"
Print #Filenum, "1"
Monat = InputBox("Geben Sie den zu downloadenden Monat an (Format: MM [z.B. 06]).", "Monat definieren", Datum3)
If Monat = "" Then Exit Sub
Tag = InputBox("Geben Sie den zu downloadenden Tag an (Format: DD [z.B. 22]).", "Tag definieren", Datum2)
If Tag = "" Then Exit Sub
' Wenn eine andere Messstelle benötigt wird einfach die Stelle DUBR.html ersetzen. Kürzel ist auf Auswahlseite angegeben!
Print #Filenum, "http://www.lua.nrw.de/luft/temes/" & Monat & Tag & "/WALS.htm"
Close Filenum
Sheets(1).Select
Range("A1").Select
Columns("A:G").Select
Selection.Delete Shift:=xlToLeft
Range("A1").Select

With ActiveSheet.QueryTables.Add(Connection:= _
"FINDER;C:\TEMP\LUA Tageswerte.iqy", Destination:= _
Range("A1"))
.FieldNames = False
.RefreshStyle = xlInsertDeleteCells
.RowNumbers = False
.FillAdjacentFormulas = False
.RefreshOnFileOpen = False
.HasAutoFormat = True
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SavePassword = False
.SaveData = True
End With
Sheets(1).Select
Range( _
"8:8,10:10,12:12,14:14,16:16,18:18,20:20,22:22,24:24,26:26,28:28,30:30,32:32,34:34" _
).Select
Range("A34").Activate
Range( _
"8:8,10:10,12:12,14:14,16:16,18:18,20:20,22:22,24:24,26:26,28:28,30:30,32:32,34:34,36:36,38:38,40:40,42:42,44:44,46:46,48:48,50:50,52:52,54:54,55:55" _
).Select
Range("A55").Activate
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Range("A8:B31").Select
Range("A31").Activate
Selection.Copy
Sheets(2).Select
Range("A1").Select


Pu1 = Zeile + 24
Pu2 = Zeile + 25
Pu3 = Zeile + 47

Range("A" & Pu1).Activate
ActiveSheet.Paste
Application.CutCopyMode = False

With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.Orientation = 0
.ShrinkToFit = False
.MergeCells = False
End With
Range("A" & Pu1 & ":A" & Pu3).Select
Range("A" & Pu3).Activate
... Ab hier noch alle möglichen Umwandlungen ...

Anzeige
AW: Fehler bei Webabfrage
06.08.2003 09:54:34
Ivan
hi Jens
ein paar gedanken gänge von mir vieleicht ist was dabei für dich.
ist dieser ordner freigegeben?
C:\TEMP\LUA Tageswerte.iqy
ich kenn keine endung iqy!liegt die datei wirklich in diesem verzeichniss??
das sieht verdächtig aus!
LUA Tageswerte.iqy heist die datei so oder sollte LUA ein unterverzeichniss sein?
dann gehört ein backslash \ dazwischen!
grundsätzlich verbindet man sql daten banken mit windows betriebsystem 2000.
wobei man die datenbank auch deklarieren muß nämlich in der verwaltung,odbc,dateinamen angeben!
oder man importiert die externen daten im menü daten,externe daten importiern!
es könnte sein das diese importverbindung nicht mehr besteht!
zu guter letzt eine frage habe ich noch .
was ist das für eine datenbank?
ich denke das man den teil der verbindung im code neu herstellt.
gruss
ivan

Anzeige
AW: Fehler bei Webabfrage
06.08.2003 13:57:16
Megatron (Jens)
Hi Ivan,
danke für die Vorschläge!
Also die Sache sieht so aus:
Es handelt sich um eine Internetseite, die ich mittels einer Webabfrage ausführe.
Da liegen für jeden Tag Messdaten.
Und damit ich die Abfrage nicht immer von hand ändern muss macht das mein Programm selbstständig indem es die LUA Tageswerte.igy jedesmal löscht und neu schreibt. Dabei wird dann der neue Pfad für die Neue Abfrage miteingetragen.
Damit die Datei überall funktioniert habe ich für die ....igy das Temp-Verzeichnis auf C gewählt, denn das muss für das Betriebssystem schon existieren und ist auch allgemein freigegeben.
Ich stelle hiermit nochmal fest, dass das Programm funktioniert hat und dies auch eigentlich jetzt noch tut, aber eben nicht mehr beim ersten Start.
Hier tritt einfach dieser seltsame Fehler auf, den ich nicht verstehe. Er gibt einfach keinen Sinn.
Hoffe weiterhin auf gute Vorschläge.
Gruß
Jens

Anzeige
AW: Fehler bei Webabfrage
06.08.2003 14:23:45
Ivan
hi Jens
Also ich bin geprüfter webmaster!
und ich habe noch nie gehört das man eine sql abfrage
mit excel durchführen kann,ohne einen connect zur datenbank!
WEIL EXCEL KEINE RELATIONALE DATENBANK IST!
daher kommen die daten von irgend wo anders her und werden in diese temp datei geschrieben.
diese temporere datei LUA Tageswerte.iqy was ist das
mit was wurde sie erstellt?kanst du mir das mal sagen.
denn da muß der schlüssel liegen.
bist du sicher das die datei aktualisiert wird,
oder sind es vieleicht die alten daten?? und du meinst sie werden aktualisiert.
gruss
ivan

Anzeige
AW: Fehler bei Webabfrage
06.08.2003 16:53:06
Megatron (Jens)
Hallo Ivan,
danke für die vielen Tips und Ratschläge.
Es ist keine richtige sql-Abfrage, sondern eine html/excel-Abfrage. (Ein bischen schwierig zu erklären)
Inhalt der Datei LUA Tageswerte.igy: (ist eigentlich nur ein Query-link)
WEB
1
http://www.lua.nrw.de/luft/temes/0805/DUBR.htm
Schau Dir z.B. mal diese Internetseite an:
http://www.lua.nrw.de/luft/temes/heut/DUBR.htm#jetzt
So sehen die html-Seiten alle aus (es sind eigentlich Exceldateien, die dahinterstehen; aber nicht zur Verfügung gestellt werden.).
Also "Webmaster", die Daten landen nicht in der ....igy sondern in einem Tabellenblatt. Die Abfrage erfolgt aber über das Internet (im Prinzip wird der Inhalt nur kopiert und dann in der Exceltabelle ausgewertet und an die Daten der vorherigen Tage angehängt.).
Die igy-Datei dient nur als Link für die Webabfrage.
Hoffe es jetzt etwas verständlicher erklärt zu haben.
Im Prinzip habe ich ja nur einen Fehler im Makro - der keiner ist - da ich durch einfaches "Fortsetzen" des Makros ja dafür sorge, dass es ausgeführt wird. Blos die Fehlermeldung tritt auf. Wenn ich dem Makro irgendwie mitteilen könnte, dass es den "Fehler" einfach unterdrücken und sich selbst einfach weiter ausführen soll wäre ja alles in Ordnung.
Hoffe ich bringe Dich nicht auf die gleiche Verzweiflungsstufe auf der ich selbst schon angekommen bin. ("Wo zu Teufel ist der Fehler?")
Weitere Vorschläge nehme ich dankend entgegen.
Gruß
Jens

Anzeige
AW: Fehler bei Webabfrage
06.08.2003 16:56:03
Megatron (Jens)
Habe gerade festgestellt, dass die dritte Zeile der igy-Datei als Link erkannt wird.
Dies ist natürlich nur durch die Forumseinstellungen so. Die eigentliche igy-Datei enthält dies als reinen Text.
Gruß
Jens

AW: fertig
06.08.2003 17:15:37
ivan


hi Jens
aber achtung das blendet alle meldungen aus!
leg das in deine mit
alt+f11
in Diese Arbeitsmappe
Private Sub Workbook_Open()
Application.DisplayAlerts =False
End Sub
und dort wo du dann alles beendest legst du es auf true
Application.DisplayAlerts =True
Gruss ivan

Anzeige
AW: fertig
06.08.2003 17:36:22
ivan
hi Jens
ich habe noch vergessen zu schreiben
das dann auch keine meldung von excel bekommst
wenn möchten sie wirklich speichern??
du mußt die datei manuell oder mit vba speichern.
sonst sind die einträge pfutsch die du gemacht hast!
gruss
ivan

AW: fertig
06.08.2003 17:44:34
Megatron (Jens)
Hallo Ivan,
damit werden nur die Fehlermeldungen von Excel abgeschaltet.
Hierbei handelt es sich aber um einen Fehler 1004 vom VBA.
Dieser wird weiterhin ausgegeben, auch wenn er keinen Sinn ergibt.
Einfaches "Fortsetzen" drücken führt ja zum gewünschten Ergebnis.
Es muss sich ganz offensichtlich um einen Fehler in der Ansteuerung handeln, vielleicht führt Excel die funktion so schnell aus, dass es gar nicht auf das Passwort wartet.
Habe übrigens gerade festgestellt, das auch Herbers ExcelHilfe (der asl AddIn vorliegenden Abfrage) die Verbindung nicht richtig ausgeführt wird. Nach dem eingeben des Users und des Passwortes kann die Seite nicht angezeigt werden. Dies geht erst nach erneutem laden (hier liegt das Passwort ja dann schon vor und muss nicht mehr eingegeben werden.).
Es hängt also ganz offensichtlich mit dem Netzwerk zusammen.
Vielleicht noch irgendeine Idee wie ich es ohne Fehler ausführen kann?
Gruß
Jens

Anzeige
AW: fertig
06.08.2003 18:08:31
ivan
HI JENS
das kann mann lösen mit dem weiter den code abrechen!
ich muß nur was überlegen.
es wird dann etwar so sein
If Error = 0 Then
Next
oder so das krieg ich hin.
nur dazu bräuchte ich die Error nr.bzw ich versuche einmal einen error zu produzieren
melde mich dann bei dir.
gruss
ivan

AW: fertig
06.08.2003 18:20:35
ivan


hi Jens
veruche es mal so ich kann es leider nicht testen!
wenn nicht dann den code ganz rauf oder dazwischen  probieren.
wenn du error nr rausfindest dann haben wir gewonnen.
diese wird DIR ja gezeigt!
With ActiveSheet.QueryTables.Add(Connection:= _
"FINDER;C:\TEMP\LUA Tageswerte.iqy", Destination:= _
Range("A1"))
'################################
On Error Resume Next
     If Err.Number <> 0 Then
     End If
''###############################
.FieldNames = False
.RefreshStyle = xlInsertDeleteCells
.RowNumbers = False
.FillAdjacentFormulas = False
.RefreshOnFileOpen = False
.HasAutoFormat = True
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SavePassword = False
.SaveData = True
End With
gruss
ivan

Anzeige
AW: fertig
07.08.2003 08:05:49
Megatron (Jens)
Morgen Ivan,
ich weiss gar nicht wie ich Dir danken soll.
Nur zur Vervollständigung es handelt sich um den Laufzeitfehler 1004 aus VBA!
Die Prozedur funktioniert soweit, dass kein Fehler kommt. Das Programm zieht mir beim ersten Mal jetzt zwar keine Daten mehr, dass ist aber kein Problem. Ich werde einfach eine Startprozedur entwickeln die ich beim öffnen der Datei ausführen lasse. Danach funktioniert das Makro ja einwandfrei. Hauptsache der Fehler taucht nicht mehr auf!
Noch einmal herzlichen Dank!!!
- Hätte zwar trotzdem gerne gewusst woran es lag - aber das scheint mal wieder eines dieser Geheimnisse von VBA zu sein!
Bis bald
Gruß
Jens
ps: Als kleiner Dank ein Großteil des Programms, vielleicht kannst Du es mal gebrauchen.
(Einige Teile habe ich dank der Hilfe der Forumsteilnehmer so zusammengestellt; auch wenn ich mitlerweile einiges anders ansteuern würde!)

Sub Abfrage()
' Abfrage Makro
' Tastenkombination: Strg+t
'Löschen der vorhandenen Abfrage
Dim Ergebnis
Dim Filenum As Integer
Dim Monat As String
Dim Tag As String
Dim Datum As Long
Dim Datum1 As Long
Dim Datum2 As String
Dim Datum3 As String
Dim Zeile As Long
Dim Pu1 As String
Dim Pu2 As String
Dim Pu3 As String
Sheets(2).Select
Zeile = Cells(65536, 1).End(xlUp).Row
Range("X" & Zeile).Select
ActiveCell.FormulaR1C1 = "=MID(RC[-23],1,2)"
Range("Y" & Zeile).Select
ActiveCell.FormulaR1C1 = "=MID(RC[-24],4,2)"
'folgender Tag
Datum = Cells(Zeile, 24)
Datum1 = Cells(Zeile, 25)
Datum2 = Datum + 1
If Datum = 1 Then Datum2 = "02"
If Datum = 2 Then Datum2 = "03"
If Datum = 3 Then Datum2 = "04"
If Datum = 4 Then Datum2 = "05"
If Datum = 5 Then Datum2 = "06"
If Datum = 6 Then Datum2 = "07"
If Datum = 7 Then Datum2 = "08"
If Datum = 8 Then Datum2 = "09"
'Monatsende
If Datum = 31 And Datum1 = 1 Then Datum2 = "01"
If Datum = 28 And Datum1 = 2 Then Datum2 = "01"
If Datum = 31 And Datum1 = 3 Then Datum2 = "01"
If Datum = 30 And Datum1 = 4 Then Datum2 = "01"
If Datum = 31 And Datum1 = 5 Then Datum2 = "01"
If Datum = 30 And Datum1 = 6 Then Datum2 = "01"
If Datum = 31 And Datum1 = 7 Then Datum2 = "01"
If Datum = 31 And Datum1 = 8 Then Datum2 = "01"
If Datum = 30 And Datum1 = 9 Then Datum2 = "01"
If Datum = 31 And Datum1 = 10 Then Datum2 = "01"
If Datum = 30 And Datum1 = 11 Then Datum2 = "01"
If Datum = 31 And Datum1 = 12 Then Datum2 = "01"
'Monat
Datum1 = Cells(Zeile, 25)
Datum3 = "0" & Datum1
If Datum1 = 10 Then Datum3 = "10"
If Datum1 = 11 Then Datum3 = "11"
If Datum1 = 12 Then Datum3 = "12"
'Monatsende
If Datum1 = 12 And Datum = 31 Then Datum3 = "01"
If Datum1 = 1 And Datum = 31 Then Datum3 = "02"
If Datum1 = 2 And Datum = 28 Then Datum3 = "03"
If Datum1 = 3 And Datum = 31 Then Datum3 = "04"
If Datum1 = 4 And Datum = 30 Then Datum3 = "05"
If Datum1 = 5 And Datum = 31 Then Datum3 = "06"
If Datum1 = 6 And Datum = 30 Then Datum3 = "07"
If Datum1 = 7 And Datum = 31 Then Datum3 = "08"
If Datum1 = 8 And Datum = 31 Then Datum3 = "09"
If Datum1 = 9 And Datum = 30 Then Datum3 = "10"
If Datum1 = 10 And Datum = 31 Then Datum3 = "11"
If Datum1 = 11 And Datum = 30 Then Datum3 = "12"
Filenum = FreeFile()
Dim Dateiname As String
pfadname$ = "C:\TEMP\*.*"
Dateiname$ = Dir$(pfadname, 0)
Do While Dateiname$ <> ""
If LCase(Dateiname$) = "lua tageswerte.iqy" Then
Kill Left(pfadname, 8) & "LUA Tageswerte.iqy"
Exit Do
End If
Dateiname$ = Dir$()
Loop
'Schreiben der neuen Abfrage
Open Left(pfadname, 8) & "LUA Tageswerte.iqy" For Append As Filenum
Print #Filenum, "WEB"
Print #Filenum, "1"
Monat = InputBox("Geben Sie den zu downloadenden Monat an (Format: MM [z.B. 06]).", "Monat definieren", Datum3)
If Monat = "" Then Exit Sub
Tag = InputBox("Geben Sie den zu downloadenden Tag an (Format: DD [z.B. 22]).", "Tag definieren", Datum2)
If Tag = "" Then Exit Sub
' Wenn eine andere Messstelle benötigt wird einfach die Stelle DUBR.html ersetzen. Kürzel ist auf Auswahlseite angegeben!
Print #Filenum, "http://www.lua.nrw.de/luft/temes/" & Monat & Tag & "/WALS.htm"
Close Filenum
Sheets(1).Select
Range("A1").Select
Columns("A:G").Select
Selection.Delete Shift:=xlToLeft
Range("A1").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"FINDER;C:\TEMP\LUA Tageswerte.iqy", Destination:= _
Range("A1"))
On Error Resume Next
If Err.Number <> 0 Then
End If
.FieldNames = False
.RefreshStyle = xlInsertDeleteCells
.RowNumbers = False
.FillAdjacentFormulas = False
.RefreshOnFileOpen = False
.HasAutoFormat = True
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SavePassword = False
.SaveData = True
End With
Sheets(1).Select
Range( _
"8:8,10:10,12:12,14:14,16:16,18:18,20:20,22:22,24:24,26:26,28:28,30:30,32:32,34:34" _
).Select
Range("A34").Activate
Range( _
"8:8,10:10,12:12,14:14,16:16,18:18,20:20,22:22,24:24,26:26,28:28,30:30,32:32,34:34,36:36,38:38,40:40,42:42,44:44,46:46,48:48,50:50,52:52,54:54,55:55" _
).Select
Range("A55").Activate
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Range("A8:B31").Select
Range("A31").Activate
Selection.Copy
Sheets(2).Select
Range("A1").Select
Pu1 = Zeile + 24
Pu2 = Zeile + 25
Pu3 = Zeile + 47
Range("A" & Pu1).Activate
ActiveSheet.Paste
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.Orientation = 0
.ShrinkToFit = False
.MergeCells = False
End With
Range("A" & Pu1 & ":A" & Pu3).Select
Range("A" & Pu3).Activate
'Diesen Filter eventuell neu machen! Makro aufzeichnen und entsprechende Zeilen daraus kopieren!
'Bitte folgendes ersetzen, damit es automatisch funktioniert: Selection.TextToColumns Destination:=Range("A" & Pu1),
Selection.TextToColumns Destination:=Range("A" & Pu1), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(8, 1), Array(15, 1), Array(21, 1), Array(26, 1), _
Array(31, 1), Array(37, 1), Array(43, 1), Array(51, 1), Array(57, 1), Array(64, 1))
'Filter Ende
Rows(Pu1 & ":" & Pu3).Select
Range("A" & Pu3).Activate
Rows(Pu1 & ":" & Pu3).EntireRow.AutoFit
Range("A" & Pu1 & ":A" & Pu3).Select
Range("A" & Pu3).Activate
Selection.ClearContents
Range("A" & Pu1).Select
ActiveCell.FormulaR1C1 = Tag & "." & Monat & "."
With ActiveCell.Characters(Start:=1, Length:=7).Font
.Name = "Courier New"
.FontStyle = "Standard"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Range("A" & Pu1 & ":K" & Pu3).Select
Range("A" & Pu3).Activate
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Range("A1").Select
'"-" löschen
Range("A" & Pu1 & ":D" & Pu3).Select
Selection.Replace What:="-", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Range("F" & Pu1 & ":K" & Pu3).Select
Selection.Replace What:="-", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Range("A1").Select
Sheets(1).Select
Range("A4:B4").Select
Selection.Copy
Sheets(2).Select
Range("N" & Pu1).Select
ActiveSheet.Paste
Range("X" & Zeile).Select
Selection.ClearContents
Range("Y" & Zeile).Select
Selection.ClearContents
Range("B" & Pu1).Select
End Sub

pps: Um es so wie hier auszuführen musst Du in Tabelle2 in A1 z.B. 04.08. schreiben. Viel Spass!!!

AW: fertig
07.08.2003 09:24:46
ivan
Hallo Jens Herzliche Grüsse von Webmaster Ivan                                                                   Gesund Bleiben Gesund werden    www.Tepperwein-Collection.at


na endlich funkt es!
WAR JA EINE SCHWERE GEBURT:))lol

AW: fertig
07.08.2003 11:50:10
Megatron (Jens)
Hallo Ivan
danke für die viele Hilfe!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ist das Banner nicht etwas übertrieben?
Weiterhin viel Spass im Forum!
Gruß
Jens

AW: fertig
07.08.2003 12:05:08
ivan
JA hast eh recht ist wirklich etwas übertrieben!
Hallo Jens Gruss Ivan

AW: fertig
07.08.2003 16:04:54
Megatron (Jens)
So sieht es Klasse aus!
Gruß
Jens
ps: Unter Profile kannst Du Dich eintragen, dann kannst Du auch darüber für Deine Internetseite Werbung machen.

AW: fertig
07.08.2003 17:18:33
ivan
Danke für den Hinnweis
das hab ich schon wieder gelöscht da bekomme ich am tag
50-100 E-mails aber keine forum mail's was ja ok wäre,
sonder spam,so ne frechheit!
for allem diese penis entlargment und viagra sind sehr lästig.:))
Hallo   Jens Gute Idee aber        Gruss  Ivan      Gesund Werden & Gesund Bleiben    http://www.Tepperwein-Collection.at


Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige