无法使用VBA以随机顺序浏览一系列URL

时间:2019-01-02 12:58:54

标签: excel vba excel-vba web-scraping

我有一系列包含URL的单元格 我使用如下所示的for循环导航至它们,以从中获取数据。所以我想添加一些随机性

With ie

    For j = 2 To 50

    mylink = wks.Cells(j, 2).Value

    .Visible = True
    .Navigate mylink

   'rest of code

   Next
End with

我如何选择一个带有URL的单元格,然后导航到该单元格并转到下一个随机单元格,而无需再次打开它们? 谢谢你,新年快乐

1 个答案:

答案 0 :(得分:0)

您可以尝试以下操作。这将生成一个2到50之间的随机数,测试它是否曾经被使用过(通过与使用值的字典进行比较),然后进行导航。不过,我不确定您为什么要这么做。

Dim UsedNumber As Object
Dim RndNumber As Long, MinNumber as long, MaxNumber as long
Dim j As Long

MinNumber = 2
MaxNumber = 50
Set UsedNumber = CreateObject("Scripting.Dictionary")

With ie
    .Visible = True
    For j = MinNumber To MaxNumber
        Do
            RndNumber = Int((MaxNumber - MinNumber + 1) * Rnd + MinNumber)
        Loop While UsedNumber.exists(RndNumber)
        UsedNumber.Add RndNumber, RndNumber

        Debug.Print RndNumber

        mylink = wks.Cells(RndNumber, 2).Value

        .Navigate mylink
    Next j
End With