ich habe im Thread
https://www.herber.de/forum/archiv/1292to1296/t1293252.htm
einen Code von fcs gefunden, der der Reihe nach
eine Webabfrage für alle Links in Spalte A abruft / kopiert
und diese Ergebnisse dann in jeweils ein Tabellenblatt kopiert.
Funktioniert auch reibungslos.
Ich möchte jedoch, dass die Ergebnisse der Webabfrage
# in ein neues Blatt kopiert (macht er ja)
# dann nur die Ergebnisse der Zellen A40 bis A 50
kopiert und in eine neue Datei "transportiert"
also von A1 bis K1
# dann der 2 Link abgefragt wird
und wieder rum die Zellen A40 bis A50
in die neue Datei dann halt in Zellen A2 bis K2
kopiert usw
Die einzelne Webabfrage pro Link kann dann wieder gelöscht werden.
Geht so etwas ?
Freu mich auf einen Tip
Gruss
Werner
Hier der Code aus dem alten Thread
Sub Makro1()
Dim wksListeLinks As Worksheet, lngZeile As Long
Dim strLink As String, strCon As String
Dim wbZiel As Workbook, wksZiel As Worksheet, iCount As Integer
Dim strName As String
Set wksListeLinks = ActiveSheet
With wksListeLinks
lngZeile = .Cells(.Rows.Count, 1).End(xlUp).Row
End With
For lngZeile = 1 To lngZeile 'Startzeile der Liste ggf. anpassen!
iCount = iCount + 1
If wbZiel Is Nothing Then
Application.Workbooks.Add Template:=xlWBATWorksheet
Set wbZiel = ActiveWorkbook
Set wksZiel = wbZiel.Worksheets(1)
Else
Set wksZiel = wbZiel.Worksheets.Add(after:=wksZiel)
End If
strLink = wksListeLinks.Cells(lngZeile, 1)
strCon = "URL;" & strLink
strName = strLink
With wksZiel.QueryTables.Add(Connection:=strCon, _
Destination:=wksZiel.Range("A1"))
.Name = strName
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
If iCount = 50 Then '50 = max. Anzahl Tabellenblätter (Abfragen) pro Arbeitsmappe
'für den Max-Wert sind Werte von 1 bis ca. 250 (Excel 2003) zulässig.
iCount = 0
Set wbZiel = Nothing
End If
Next lngZeile
End Sub