Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1272to1276
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
Inhaltsverzeichnis

Formel neben Webabfragenergebnis

Formel neben Webabfragenergebnis
Nimzo
Hallo zusammen
mit folgendem Makro rufe ich aus dem Web Daten ab.

sub auslesen()
Dim wks As Worksheet, sps As Worksheet, Zeile As Long
Set wks = Worksheets("MASTERDATA")
Set sps = Worksheets("INPUT")
With sps.QueryTables.Add(Connection:="URL;" & wks.Cells(2, 3).Value, _
Destination:=sps.Cells(1, 1))
.Name = "INPUTLIST"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = True
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingAll
.WebTables = "2"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = True
.WebDisableRedirections = True
.Refresh BackgroundQuery:=False
End With
ActiveWorkbook.RefreshAll
End Sub

Nun möchte ich, das in die Spalte 5 (oder die erste freie Spalte (beides wäre interessant) zu jedem erhaltenen Eintrag die Fucntion:

Function linkauslesen(zelle As Range)
Application.Volatile
linkauslesen = zelle.Hyperlinks(1).Address
End Function
mit =linkauslesen(RC[-3]) erhalten.
Ich könnte nun in einer zweiten SUB die Funktion eintragen, aber dass muss doch auch leichter gehen, oder?
Vielen Dank und Viele Grüsse
Aaron

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Formel neben Webabfragenergebnis
20.07.2012 23:06:04
fcs
Hallo Aaron,
es ist schwierig/nicht möglich, festzustellen, ob der Datentranfer für die Abfrage abgeschlossen ist. Somit versucht Excel wahrscheinlich die Formeln einzufügen, bevor der Datentransfer abgeschlossen ist. Warteschleifen ins MAkro einzubau bringt auch nichts, da Excel in de Zeit nichts macht, also auch nicht die Abfragedaten lädt.
Deshalb ist es einfacher, das entsprechende Makro von Hand zu starten.
Alternativ könnte man per OnTime im Makro mit Zeitverzögerung das Eintragen der Formeln starten. Dies macht aber nur Sinn, wenn du maximale Zeit kennst, die das Laden der Daten der Webafrage benötigt.
Gruß
Franz
Sub auslesen()
.Refresh BackgroundQuery:=False
End With
ActiveWorkbook.RefreshAll
'verzögerter (10 Sekunden) Start der Makros zum Eintargen der Formeln
Application.OnTime EarliestTime:=Now() + TimeValue("00:00:10"), _
Procedure:="Formeln_Eintragen", _
LatestTime:=Now() + TimeValue("00:00:20")
End Sub
Sub Formeln_Eintragen()
Dim sps As Worksheet, Zeile As Long, Spalte As Long
Set sps = ActiveWorkbook.Worksheets("INPUT")
With sps
With .UsedRange
'Spalte = 5
Spalte = .Column + .Columns.Count
Zeile = .Row + .Rows.Count - 1
End With
If Spalte > 3 Then
.Range(.Cells(1, Spalte), .Cells(Zeile, Spalte)).FormulaR1C1 = _
"=linkauslesen(RC[-3])"
.Columns(Spalte).AutoFit
Else
MsgBox "Formel kann nicht eingefügt werden, " _
& "benutzter Bereich hat weniger als 4 Spalten"
End If
End With
End Sub
Function linkauslesen(zelle As Range)
Application.Volatile
linkauslesen = zelle.Hyperlinks(1).Address
End Function

Anzeige
AW: Formel neben Webabfragenergebnis
20.07.2012 23:42:18
Nimzo
Perfekt, vielen Dank!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige