我对编程非常陌生,但一直在尝试学习。我遇到了一个问题,我试图将股票价格从雅虎金融中提取出来,但我需要它跳过第4,6,20,34,41行。这些单元格在C列中也是空白的。我曾尝试使用if语句,其中 如果ws.Range(“K6,K20,K34,K41”)。value =“”然后退出子
但是,这使得整个程序没有运行。 另外,当它运行时,它将创建一个新列,其中前面的“K”列是,而不是只覆盖K,这正是我正在尝试做的。VBA - 跳过行并覆盖该行
谢谢你的帮助!对不起,如果这个问题似乎令人困惑,我在这里澄清任何问题! :)
Sub BtnRefresh()
Dim ws As Worksheet
Dim qt As QueryTable
Dim URL As String
Dim Symbol As String
Dim i As Integer
Dim Last As Integer
Set ws = Worksheets("Current Portfolio")
Last = ws.Range("C100").End(xlUp).Row
For i = 1 To Last
Symbol = Symbol & ws.Range("C" & i).Value & "+"
Next i
URL = "http://download.finance.yahoo.com/d/quotes.csv?s=" & Symbol & "&f=l1"
Set qt = ws.QueryTables.Add(_
Connection:="URL;" & URL, _
Destination:=Range("K5"))
qt.BackgroundQuery = True
qt.SaveData = True
qt.Refresh BackgroundQuery:=False
qt.RefreshStyle = xlOverwriteCells
End Sub
嘿!感谢您的回应,这是一种有效的工作方式,但现在我正在将“N/A”粘贴到“K4:K7”以及K9,K23,K37中 –
嘿!这在我为'我= ** 5 **到最后'谢谢你! –
你碰巧知道如何摆脱出现在细胞中的N/A?我尝试了'Cells.Replace'N/A“,”'',但现在每次运行宏时,整个工作表都会高亮显示。谢谢! –