2016-07-10 3 views
3

Я новичок в кодировании и программировании и буду благодарен за любые предложения, которые вы можете дать мне в создании моего первого реального кода.VBA EXCEL CODE: Current Stock Price

Что я хочу сделать, это спросить пользователя, что такое Тикерное имя, и как только оно будет введено, в окне сообщения должна отображаться текущая цена акции.

Я знаю формулу для извлечения текущей цены акций. Для примера: чтобы найти текущее значение Netflix все, что вам нужно сделать, в таблице ставится «NFLX» в клетке (A1) и в камере (A2) положить следующую формулу: =NUMBERVALUE(WEBSERVICE("http://finance.yahoo.com/d/quotes.csv?s="&A1&"&f=l1"))

Вчера во время обучения, как для определения переменных в VBA Я пытался экспериментировать с этой концепцией и придумал следующий код, который явно не работает: -

Sub Declaring_Variables() 

    Dim TickerName As String 

    TickerName = InputBox("Ticker Symbol") 

    Dim CurrentPrice As Integer 

    CurrentPrice = Formula ="=NUMBERVALUE(WEBSERVICE("finance.yahoo.com/d/quotes.csv?s="&TickerName&"&f=l1")) 

    MsgBox (CurrentPrice) 
End Sub 

я уверен, что проблема с тем, как я объявил формулу Текущая цена. Я был бы очень признателен, если бы вы научили меня использовать обычные формулы, которые мы используем в электронных таблицах в VBA. Я думаю, что это будет хорошим примером для меня, чтобы стать лучше, поскольку он охватывает очень важную концепцию.

Спасибо за ваше время.

С уважением, InWoods

+1

очевидный вопрос заключается в том, что вы неправильно написанное 'WEBSERVIC' –

+0

@RonRosenfeld Спасибо отредактирован, что изменение. – InWoods

ответ

2

Дайте этому попытку:

Option Explicit 

Sub Declaring_Variables() 

    Dim TickerName As String 

    TickerName = InputBox("Ticker Symbol") 

    Dim CurrentPrice As String 

    CurrentPrice = Application.WebService("finance.yahoo.com/d/quotes.csv?s=" & TickerName & "&f=l1") 

    MsgBox "Text Format: " & CurrentPrice & Chr(10) & _ 
     "Number Format: " & Application.NumberValue(CurrentPrice) 
End Sub