Извлечь данные из файла, открытого по гиперссылке - PullRequest
0 голосов
/ 20 июня 2020

У меня есть URL-адрес, по которому открывается лист Excel из Yahoo Finance. Я хочу взять этот лист, а затем отформатировать данные перед перемещением. Однако приведенный ниже код завершается без форматирования. Возможно, это связано с тем, что для открытия листа Excel требуется 5 секунд. Я пробовал таймер задержки, но он тоже не работает. Есть идеи, как исправить, возможно, какое-то время убивает l oop? или, может быть, задержка, а затем необходимость каким-то образом ссылаться на текущий лист.

Sub MAIN()

Call START

Dim i As Integer

    Workbooks("book1.xlsb").Sheets("links").Select

For i = 2 To 2
    
    Cells(i, 5).Select
    Selection.HYPERLINKS(1).Follow NewWindow:=False, AddHistory:=False

    With ActiveSheet.Range("A1:H1").Interior
        Columns("a:a").TextToColumns , DataType:=xlDelimited, COMMA:=True
        .Pattern = xlSolid
        .TintAndShade = -0.5
        Range("A:A").NumberFormat = "mm/dd/yyyy"
        Range("A:A").HorizontalAlignment = xlLeft
        Range("B:F").NumberFormat = "#,##0.00"
        Range("G:G").NumberFormat = "#,##0"
        Range("A:G").EntireColumn.AutoFit
    End With
    
    Sheets("LINKS").Select
    
Next
    
Workbooks("book1.xlsb").Sheets("links").Activate

'    Windows("book1.xlsb").Activate
'    Sheets("LINKS").Select
    
Call ENDING
    
End Sub

Yahoo financial link

1 Ответ

0 голосов
/ 21 июня 2020

Ответ от @Tim Williams с использованием workbooks.open (url).

Это не только работает, но и намного быстрее и позволяет мне использовать текст для функции столбцов и в этой строке.

Sub MAIN1()

Call START

Dim i As Integer

For i = 2 To 2
    
    xtable = Cells(i, 5)
    xsheet = Cells(i, 4).Value
    Workbooks.Open xsheet, , , , , , , , 2

Next
    
Call ENDING
    
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...