2016-11-17 6 views
0

私が探しているのは、別のセルの情報に基づいてウェブサイトからデータを取り出すことです。例えば、私はairnav.comから、コントロールタワーの周波数などの特定の空港に関する情報を具体的に取りたいと思います。周波数を見つけるには、空港に行き、次に空港コードを入力します(例:WashingtonのRenton空港の場合は「KRNT」)。セル内の入力に基づいてウェブからデータを取り出す方法

例:セルA1に「KRNT」が入っていれば、空港の周波数を自動的にセルB2に引き出します。

どのようにすれば、セルを見て、その特定の空港コードの情報を検索し、別のセルにプルすることができますか?私はこれが可能であると仮定しているが、私は完全にはわからない。

メモ、私はかなり熟練していますが、上級ユーザーではありません。

答えて

0

更新:

カントは、単に2枚を持っています。

シート1つの列Aは入力セルであり、シート2の列Aは空港コードが異なり、列Bは外部ウェブデータを引き出すための式である。シート1の列Bに続い

シート1及び2上のカラムAの入力に一致し、列Bシート2からシート1の列B内のデータをインポートするために、この式を確定..

  • シート1 - 列A(入力フィールド)カラムB(下記の場所式)
  • シート2 - 列A(空港コード)列B(データは前記空港のために引っ張ら)

=VLOOKUP(Sheet1!A2,Sheet2!A:B,2) 
+0

私はこれを行う方法を理解していますが、1つのセルを見て正しいデータを検索する方法があるのだろうかと思います。したがって、最初のセルのデータを変更すると、2番目のセルのデータが自動的に変更されます。 – abite

+0

@abite更新を参照してください –

+0

私は可能性がありますが、それは数千の空港から手作業でデータを取得することになります。どのような種類の自動化の目的を敗北:P私はあなたの助けに感謝します! – abite

0

これはあなたが望むことをします。
それはかなり得ることはありませんが、それは "ウェブから取得"になるとどのように優れた作品です。

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
を、それがどのように動作するかわかりません。

+0

これは恐ろしいです!偶然、どの情報を取り込むかを指定する方法はありますか?私はこれが複雑になるかもしれないことに気づいていますが、私はコントロールタワーの周波数と1つまたは2つの他のセクションなど、ウェブページの特定の部分をプルすることを望んでいます... – abite

+0

はいあります...しかし、正直言って私はあなたが私よりも上手くやれると思います。私はあなたが必要なものを知らない。開発者のタブはExcelのリボンにありますか?そうでない場合は、有効にする方法をGoogleに伝えます。そして、あなたのマクロを "ウェブから取得"し、そのコードを上のコードにコピーしてコピーします。私がそれらを書いた方法を保つ必要がある2つの行があることに注意してください。私は上記の私の答えでそれらをマークします。 – Andreas

+0

素晴らしいです、ありがとうございます:) – abite

関連する問題