2017-02-04 9 views
0

Ich möchte Datenblätter für Pferde herunterladen.Ersetzen von Teilen einer URL mit Wert aus einer Spalte

Die einzige Variable im Makro ist ein Teil der URL.

Ich habe alle Variablen (die Pferde-Nummern) in der Spalte "A" aufgeführt.

Ich möchte ein neues Blatt mit den Informationen von der Website gesammelt, und sammeln Sie dann Informationen wieder unter Verwendung der Zahlen (neue Variable) von der nächsten Zeile in der Spalte "A".

Bisher ist dies der Code, den ich habe:

Sub Makro1() 
' 
' Makro1 Makro 
' 
Dim nummer As String 

nummer = Sheets("Ark1").Range("A1:A10") 

' 
    ActiveWorkbook.Worksheets.Add 
    With ActiveSheet.QueryTables.Add(Connection:= _ 
     "URL;http://195.198.34.45/trav/hast/visa/" & nummer & "/resultat", Destination:=Range _ 
     ("$A$1")) 
     .CommandType = 0 
     .Name = "resultat" 
     .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 = True 
     .WebDisableRedirections = False 
     .Refresh BackgroundQuery:=False 
    End With 
    Columns("D:D").Select 
    ActiveWindow.SmallScroll Down:=21 
    Columns("E:E").Select 
    Range("E22").Activate 
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove 
    Columns("D:D").Select 
    Range("D22").Activate 
    Selection.TextToColumns Destination:=Range("D1"), DataType:=xlDelimited, _ 
     TextQualifier:=xlNone, ConsecutiveDelimiter:=False, Tab:=True, Semicolon _ 
     :=False, Comma:=False, Space:=False, Other:=True, OtherChar:="/", _ 
     FieldInfo:=Array(1, 2), TrailingMinusNumbers:=True 
End Sub 

User sheet trying to describe problem

+0

Ich war bei dir bis "und dann mach es für die nächste Reihe in Coulmn" A "" - was genau meinst du? – TheSilkCode

+0

Ich denke, ich versuche, eine Mehrfachabfrage zu erstellen. Alle Variablen der Multiplequery sind aufgelistet in coulmn A –

Antwort

0

ein Satz auf, wie mehrere Abfrage zu handhaben, nicht sicher, was Sie mit jedem Ergebnis tun wollen

Sub Makro1() 
' 
' Makro1 Makro 
' 
    Set ws = ActiveSheet 'sheet containing your numbers in column A 
    ActiveWorkbook.Worksheets.Add 
    For Each nummer In ws.Range("A1:A10") 
    If nummer.Text = "" Then Exit For 
     For Each qt In ActiveSheet.QueryTables 
      qt.Delete 
     Next 
     With ActiveSheet.QueryTables.Add(Connection:= _ 
      "URL;http://195.198.34.45/trav/hast/visa/" & nummer.Text & "/resultat", Destination:=Range("$A$1")) 
      .Name = "resultat" 
      .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 = True 
      .WebDisableRedirections = False 
      .Refresh BackgroundQuery:=False 
      nummer.Offset(0, 1) = ActiveSheet.Cells(21, 1) 
     End With 
    Next 
    Application.DisplayAlerts = False 
    ActiveSheet.Delete 
    Application.DisplayAlerts = True 
End Sub 
+0

Vielen Dank für Ihre Hilfe. Es ist ein Problem, mit der 2. und 3. Abfrage ich denke .. Von meinem Verständnis dieser: 'Set ws = ActiveSheet' bedeutet, dass es das aktive Blatt in der nächsten Abfrage verwenden wird, aber ich mag es, um die Nummer in der nächsten Reihe meines "Haupt" Blattes zu verwenden. –

+0

Ich habe versucht, ein wenig zu meinem ursprünglichen Beitrag hinzuzufügen und ein Bild hinzugefügt. Ich werde später die gesammelten Daten für die weitere Verarbeitung verwenden Vielen Dank –

+0

Ich habe den Code bearbeitet, um den Namen neben der Nummer gefunden – h2so4

Verwandte Themen