你似乎没有尝试过任何事情。
我只是发布这篇教育文章,希望它可以激励你在未来编写自己的代码。
正如我在评论中所说,您尝试抓取的网站提供了一种非常方便的方式来通过 HTTP 请求下载您想要的数据。
HTTP 请求是一种从服务器请求某些内容的结构化方式。在这种情况下,我们要向服务器发送两个日期并获取相应的搜索结果。
要了解此请求的外观,您必须在单击提交按钮时检查网络流量。您可以通过浏览器的开发者工具 ( F12) 做到这一点:

如果您浏览请求的标头和参数,您将看到 url、正文和标头的外观。在这种特殊情况下,所有参数都以 JSON 格式在请求正文中发送,并且大多数标头对于请求的成功并不重要。
请求的正文如下所示:
{'name':'NIFTY 50','startDate':'01-Feb-2020','endDate':'29-Feb-2020'}
在这种特殊情况下,响应的有效负载是另一个 json 字符串中的 json 字符串。您可以使用这样的工具检查其结构。这是第二个 json 的样子:

它基本上由每个请求日期的一个项目组成,每个项目由 7 个参数及其对应的值组成。
代码
Option Explicit
Sub nse()
Dim req As New MSXML2.XMLHTTP60
Dim url As String, defaultPayload As String, requestPayload As String, results() As String
Dim payloadJSON As Object, responseJSON As Object, item As Object
Dim startD As Date, endD As Date
Dim key As Variant
Dim i As Long, j As Long
Dim rng As Range
startD = "01/02/2020" 'change the date to whichever you want
endD = "29/02/2020" 'change the date to whichever you want
url = "https://www.niftyindices.com/Backpage.aspx/getHistoricaldatatabletoString"
defaultPayload = "{'name':'NIFTY 50','startDate':'','endDate':''}"
Set rng = ThisWorkbook.Worksheets("Name of your Worksheet").Range("A2") 'use the name of the worksheet in which you want the results to be printed.
Set payloadJSON = JsonConverter.ParseJson(defaultPayload)
payloadJSON("startDate") = Day(startD) & "-" & MonthName(Month(startD), True) & "-" & Year(startD) '01-Feb-2020
payloadJSON("endDate") = Day(endD) & "-" & MonthName(Month(endD), True) & "-" & Year(endD) '29-Feb-2020
requestPayload = JsonConverter.ConvertToJson(payloadJSON)
With req
.Open "POST", url, False
.setRequestHeader "Content-Type", "application/json; charset=UTF-8"
.setRequestHeader "X-Requested-With", "XMLHttpRequest"
.send requestPayload
Set responseJSON = JsonConverter.ParseJson(.responseText)
End With
Debug.Print responseJSON("d")
Set responseJSON = JsonConverter.ParseJson(responseJSON("d"))
ReDim results(1 To responseJSON.Count, 1 To 7)
i = 0
For Each item In responseJSON
i = i + 1
j = 0
For Each key In item
j = j + 1
results(i, j) = item(key)
Next key
Next item
rng.Resize(UBound(results, 1), UBound(results, 2)) = results
End Sub
上面用于演示的代码从空的 Excel 工作表的单元格 A2 开始打印结果。您可以修改代码以最适合您的需求。
您需要将以下引用添加到您的项目中(VBE>Tools>References):
Microsoft XML version 6.0
Microsoft Scripting Runtime
您还需要将此 JSON 解析器添加到您的项目中。按照链接中的安装说明进行操作,您应该可以开始使用了。
结果
以下是 2020 年 1 月 2 日至 2020 年 2 月 29 日期间的结果样本
