2016-09-25 9 views
0

私はyahooファイナンスから最後の価格を取り出すために株式ティッカーを使用しています(これは問題ありません)。しかし、私はそれを横の欄に印刷するのが難しいです。時には "NA"を返すオプション記号(AAPL161007 ...)がありますが、これは何も印刷しないことを望みます。ティッカーは6行目から25行目までの範囲です。プログラムは "With Active Sheet .."という行に詰まっています。 yahooの最終取引のコードは "l1"です。また、AAPLティッカーは。。コラムのおかげVBA - 次の列に印刷

ここではコードです:

Sub variables() 

Dim qurl As String 
Dim QuerySheet As Worksheet 
Dim DataSheet As Worksheet 

Dim rng As Range, cell As Range 
Set rng = Range("K6:K25") 


For Each cell In rng 

    ARL = "http://download.finance.yahoo.com/d/quotes.csv?s=" + "AAPL" + "&f=" + "l1" 

    With ActiveSheet.QueryTables.Add(Connection:="URL;" & ARL, Destination:=Worksheets(ActiveSheet.Name).Range(ActiveCell.Offset(0, 2))) 


     .Name = "qtActiveRange" & Rnd() 
     .RefreshStyle = xlOverwriteCells 
     .AdjustColumnWidth = False 
     .BackgroundQuery = False 
     .Refresh 
     End With 

Next 

End Sub 

enter image description here

+0

'ARL =「http://download.finance.yahoo.com/d /quotes.csv?s= "+" AAP L "+"&f = "+" l1 "は' ARL = "http://download.finance.yahoo.com/d/quotes.csv?s="&cell.Value& "&f = l1" 'でなければなりませんと 'Destination:= Worksheets(ActiveSheet.Name).Range(ActiveCell.Offset(0、2))'は 'Destination:= cell.Offset(0、2)'でなければなりません。あなたの主な質問である "N/A"。 – YowE3K

答えて

0

使用

With ActiveSheet.QueryTables.add(Connection:="URL;" & ARL, Destination:=ActiveCell.Offset(0, 2))