ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   New Users to Excel (https://www.excelbanter.com/new-users-excel/)
-   -   Macro Range issues (I think) (https://www.excelbanter.com/new-users-excel/56982-macro-range-issues-i-think.html)

tmann

Macro Range issues (I think)
 

Hi all -

I think this would be an easy one. Very new to writing Macros...still
in the stage where I'm taking other folk's code and tweaking it for my
own needs. I'm trying to pull stock quotes from Yahoo, and have found
a great (almost) script to do this (on Google groups) -- see below.

Here's my problem: when I enter a stock symbol (say msft) into A2 (or
any row in col A), it places the stock quote in row 1. How I can I get
it to begin the list of quotes in row 2 (or 3, or 4, etc) ???

Thanks,
TMann

Sub GetYQuotes()
Base01 = "http://finance.yahoo.com/d/quotes.csv?s="
Base02 = "&f=sl1d1t1c1ohgv&e=.csv"


sURL = ""
SymString = ""
LastRow = Cells(65536, 1).End(xlUp).Row
For i = 1 To LastRow
SymString = SymString & Cells(i, 1) & " "
Next i
sURL = Base01 & SymString & Base02
Workbooks.Open sURL
Set rngSource = Cells(1).CurrentRegion
x = rngSource.Rows.Count
y = rngSource.Columns.Count
With ThisWorkbook.Sheets(1)
Set rngDest = Range(.Cells(1, 1), .Cells(x, y))
End With
rngDest.Value = rngSource.Value
ActiveWorkbook.Close SaveChanges:=False
End Sub


--
tmann
------------------------------------------------------------------------
tmann's Profile: http://www.excelforum.com/member.php...o&userid=29040
View this thread: http://www.excelforum.com/showthread...hreadid=487720


bpeltzer

Macro Range issues (I think)
 
It's the cells(1,1) that's setting the starting point for the output. If you
want the output to begin in A2 instead, change it to cells(2,1).


With ThisWorkbook.Sheets(1)
Set rngDest = Range(.Cells(1, 1), .Cells(x, y))
End With



tmann

Macro Range issues (I think)
 

Thanks, bpeltzer. I tried your suggestion, and while it works, it
introduces another problem: if I enter a list of stock symbols in col A
beginning in A2, it doesn't pull a quote for the last symbol in the
list. For instance, in the list:

MSFT
GME
COH
LCC

it won't pull a quote for LCC. But then if I add another symbol below
LCC, say WMT, it will pull a quote for LCC now but not WMT. I assume
that while it's inserting the data in row 2, it's counting the number
of rows required from row 1 and that's why it misses the last row???
Any thoughts??? Thanks!

bpeltzer Wrote:
It's the cells(1,1) that's setting the starting point for the output.
If you
want the output to begin in A2 instead, change it to cells(2,1).


With ThisWorkbook.Sheets(1)
Set rngDest = Range(.Cells(1, 1), .Cells(x, y))
End With



--
tmann
------------------------------------------------------------------------
tmann's Profile: http://www.excelforum.com/member.php...o&userid=29040
View this thread: http://www.excelforum.com/showthread...hreadid=487720


tmann

Macro Range issues (I think)
 

Actually, I think I just figured it out. I added the 2nd line below to
the code:

x = rngSource.Rows.Count
x = x + 1
y = rngSource.Columns.Count

tmann Wrote:
Thanks, bpeltzer. I tried your suggestion, and while it works, it
introduces another problem: if I enter a list of stock symbols in col A
beginning in A2, it doesn't pull a quote for the last symbol in the
list. For instance, in the list:

MSFT
GME
COH
LCC

it won't pull a quote for LCC. But then if I add another symbol below
LCC, say WMT, it will pull a quote for LCC now but not WMT. I assume
that while it's inserting the data in row 2, it's counting the number
of rows required from row 1 and that's why it misses the last row???
Any thoughts??? Thanks!



--
tmann
------------------------------------------------------------------------
tmann's Profile: http://www.excelforum.com/member.php...o&userid=29040
View this thread: http://www.excelforum.com/showthread...hreadid=487720



All times are GMT +1. The time now is 04:20 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com