如何根据单元格中的输入从Web中提取数据

时间:2016-11-17 05:48:44

标签: excel

所以,我要做的是根据另一个单元格中的信息从网站提取数据。例如,我想从airnav.com获取有关某些机场的信息,例如控制塔频率。为了找到频率,你去机场然后输入机场代码(例如:华盛顿伦顿机场的“KRNT”)。

示例:单元格A1放入“KRNT”,然后将机场频率自动拉入单元格B2。

那么我如何获得excel来查看一个单元格并搜索该特定机场代码的信息并将其拉入另一个单元格?我认为这是可能的,但我不完全确定。

注意,我对excel非常熟练,但绝不是高级用户。

2 个答案:

答案 0 :(得分:0)

<强>更新

你不能只有两张纸。

第一张A列是输入单元格,第二张A列是具有不同机场代码的列A,而B列是用于提取外部网络数据的公式。

然后在表1的B栏中放置此公式以匹配工作表1和2上A列的输入,并从B列表2中导入工作表1的B栏中的数据。

  • 表1 - A列(输入字段)B列(下面的地方公式)
  • 表2 - A栏(机场代码)B栏(为该机场提取的数据)
=VLOOKUP(Sheet1!A2,Sheet2!A:B,2)

答案 1 :(得分:0)

这样做你想要的。
它并没有变得漂亮,但这就是excel在“从网络上获取”时的工作方式。

您需要打开VBA编辑器并在项目窗口中点击Sheet1 然后粘贴以下代码。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Target.Worksheet.Range("A1")) Is Nothing Then

------------------------------------

        With ActiveSheet.QueryTables.Add(Connection:= _
            "URL;http://airnav.com/airport/" & Range("A1").Value, Destination:=Range("$B$1")) ' <--- This line must be as I wrote it. 
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = False
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlOverwriteCells  '<--- And this one.
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .WebSelectionType = xlSpecifiedTables
            .WebFormatting = xlWebFormattingNone
            .WebTables = "6,7,8,9,32,33,34,35,36,37"
            .WebPreFormattedTextToColumns = True
            .WebConsecutiveDelimitersAsOne = True
            .WebSingleBlockTextImport = False
            .WebDisableDateRecognition = False
            .WebDisableRedirections = False
            .Refresh BackgroundQuery:=False
        End With
----------------------------------        
    End If
End Sub

将文件另存为宏激活的工作簿,并在A1中键入机场,然后按Enter键。

正如我所说......它不漂亮......

我已在此处上传文件:https://expirebox.com/download/dfbae2fbc4410bbaf64d068443ac84bf.html
我以前从未使用过这个网站,不知道它是如何运作的。