我有一些特殊要求。那就是我有一组值,这些值将出现在Excel单元格的下拉列表中。更改值时,它将击中服务器并根据excel中选择的下拉菜单获取数据。
最后,我完成了一些简单的步骤。请在下面找到它。
步骤1:-创建下拉列表
现在,您已经在F2
单元格中创建了一个下拉列表,如下所示:
现在更改时,我们必须创建一个宏,该宏将从服务器获取数据:
第2步:-
现在,您必须单击查看代码,这将打开一个代码窗口。在那里,您必须粘贴以下代码。
Private Sub Worksheet_Change(ByVal Target As Range)
'MsgBox "You just changed " & Target.Address
If Target.Address = "$F$2" Then
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;https://www.google.com/", Destination:= _
Range("A1"))
.Name = "MR07"
.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 = True
.Refresh BackgroundQuery:=False
End With
End If
End Sub
在上面的代码中,您可以替换自己的URL而不是https://www.google.com/
A1
是输出的起始行,来自服务器。 $F$2
正在验证来自下拉列表的更改。如果您没有为所有单元格更改都设置此条件,它将调用此函数,这是意外的。