theprincipal78
Board Regular
- Joined
- Aug 5, 2009
- Messages
- 67
Hi all</SPAN></SPAN>
Everything works fine so far.</SPAN></SPAN>
I would like to:</SPAN></SPAN>
make it more dynamic and have the user determine the below Fields 0 to 15 in a worksheet.</SPAN></SPAN>
Then run the macro based on the fields that the user entered.</SPAN></SPAN>
Appreciate the help.</SPAN></SPAN>
Values in cell (“A1:A31”) of Sheet1</SPAN></SPAN>
BBG Security</SPAN></SPAN>
AXP US Equity</SPAN></SPAN>
BA US Equity</SPAN></SPAN>
CAT US Equity</SPAN></SPAN>
CSCO US Equity</SPAN></SPAN>
CVX US Equity</SPAN></SPAN>
DD US Equity</SPAN></SPAN>
DIS US Equity</SPAN></SPAN>
GE US Equity</SPAN></SPAN>
GS US Equity</SPAN></SPAN>
HD US Equity</SPAN></SPAN>
IBM US Equity</SPAN></SPAN>
INTC US Equity</SPAN></SPAN>
JNJ US Equity</SPAN></SPAN>
JPM US Equity</SPAN></SPAN>
KO US Equity</SPAN></SPAN>
MCD US Equity</SPAN></SPAN>
MMM US Equity</SPAN></SPAN>
MRK US Equity</SPAN></SPAN>
MSFT US Equity</SPAN></SPAN>
NKE US Equity</SPAN></SPAN>
PFE US Equity</SPAN></SPAN>
PG US Equity</SPAN></SPAN>
T US Equity</SPAN></SPAN>
TRV US Equity</SPAN></SPAN>
UNH US Equity</SPAN></SPAN>
UTX US Equity</SPAN></SPAN>
V US Equity</SPAN></SPAN>
VZ US Equity</SPAN></SPAN>
WMT US Equity</SPAN></SPAN>
XOM US Equity</SPAN></SPAN>
Standard Module</SPAN></SPAN>
Sub Test_BloombergFields()</SPAN></SPAN>
Dim ws As Worksheet</SPAN></SPAN>
Dim rngTicker As Range</SPAN></SPAN>
Dim strTicker As String</SPAN></SPAN>
Dim c As Range</SPAN></SPAN>
Set ws = ThisWorkbook.Sheets("Sheet1")</SPAN></SPAN>
With ws</SPAN></SPAN>
Set rngTicker = .Range("A2:A31") ' ticker range</SPAN></SPAN>
i = 1</SPAN></SPAN>
For Each c In rngTicker</SPAN></SPAN>
strTicker = c.Value</SPAN></SPAN>
Dim strFld(0 To 15) As Variant</SPAN></SPAN>
strFld(0) = "NEWS_HEAT_STORY_FLOW"</SPAN></SPAN>
strFld(1) = "NAME"</SPAN></SPAN>
strFld(1) = Range("B1")</SPAN></SPAN>
strFld(2) = "LAST_PRICE"</SPAN></SPAN>
strFld(3) = "TIME"</SPAN></SPAN>
strFld(4) = "RT_PX_CHG_NET_1D"</SPAN></SPAN>
strFld(5) = "RT_PX_CHG_PCT_1D"</SPAN></SPAN>
strFld(6) = "HIGH"</SPAN></SPAN>
strFld(7) = "LOW"</SPAN></SPAN>
strFld(8) = "VOLUME"</SPAN></SPAN>
strFld(9) = "OPEN"</SPAN></SPAN>
strFld(10) = "PX_YEST_CLOSE"</SPAN></SPAN>
strFld(11) = "CHG_PCT_YTD"</SPAN></SPAN>
strFld(12) = "CHG_PCT_1YR"</SPAN></SPAN>
strFld(13) = "VWAP"</SPAN></SPAN>
strFld(14) = "VOLUME_AVG_30D"</SPAN></SPAN>
strFld(15) = "VOLUME_AVG_6M"</SPAN></SPAN>
.Range("A1").Offset(i, 1).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(0) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 2).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(1) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 3).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(2) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 4).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(3) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 5).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(4) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 6).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(5) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 7).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(6) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 8).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(7) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 9).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(8) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 10).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(9) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 11).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(10) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 12).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(11) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 13).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(12) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 14).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(13) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 15).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(14) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 16).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(15) & """" & ")"</SPAN></SPAN>
i = i + 1</SPAN></SPAN>
Next</SPAN></SPAN>
End With</SPAN></SPAN>
End Sub</SPAN></SPAN>
- I have the below values in cell (“A1:A31”) of Sheet1 </SPAN></SPAN></SPAN>
- and the below macro in a standard module.</SPAN></SPAN></SPAN>
Everything works fine so far.</SPAN></SPAN>
I would like to:</SPAN></SPAN>
make it more dynamic and have the user determine the below Fields 0 to 15 in a worksheet.</SPAN></SPAN>
Then run the macro based on the fields that the user entered.</SPAN></SPAN>
Appreciate the help.</SPAN></SPAN>
Values in cell (“A1:A31”) of Sheet1</SPAN></SPAN>
BBG Security</SPAN></SPAN>
AXP US Equity</SPAN></SPAN>
BA US Equity</SPAN></SPAN>
CAT US Equity</SPAN></SPAN>
CSCO US Equity</SPAN></SPAN>
CVX US Equity</SPAN></SPAN>
DD US Equity</SPAN></SPAN>
DIS US Equity</SPAN></SPAN>
GE US Equity</SPAN></SPAN>
GS US Equity</SPAN></SPAN>
HD US Equity</SPAN></SPAN>
IBM US Equity</SPAN></SPAN>
INTC US Equity</SPAN></SPAN>
JNJ US Equity</SPAN></SPAN>
JPM US Equity</SPAN></SPAN>
KO US Equity</SPAN></SPAN>
MCD US Equity</SPAN></SPAN>
MMM US Equity</SPAN></SPAN>
MRK US Equity</SPAN></SPAN>
MSFT US Equity</SPAN></SPAN>
NKE US Equity</SPAN></SPAN>
PFE US Equity</SPAN></SPAN>
PG US Equity</SPAN></SPAN>
T US Equity</SPAN></SPAN>
TRV US Equity</SPAN></SPAN>
UNH US Equity</SPAN></SPAN>
UTX US Equity</SPAN></SPAN>
V US Equity</SPAN></SPAN>
VZ US Equity</SPAN></SPAN>
WMT US Equity</SPAN></SPAN>
XOM US Equity</SPAN></SPAN>
Standard Module</SPAN></SPAN>
Sub Test_BloombergFields()</SPAN></SPAN>
Dim ws As Worksheet</SPAN></SPAN>
Dim rngTicker As Range</SPAN></SPAN>
Dim strTicker As String</SPAN></SPAN>
Dim c As Range</SPAN></SPAN>
Set ws = ThisWorkbook.Sheets("Sheet1")</SPAN></SPAN>
With ws</SPAN></SPAN>
Set rngTicker = .Range("A2:A31") ' ticker range</SPAN></SPAN>
i = 1</SPAN></SPAN>
For Each c In rngTicker</SPAN></SPAN>
strTicker = c.Value</SPAN></SPAN>
Dim strFld(0 To 15) As Variant</SPAN></SPAN>
strFld(0) = "NEWS_HEAT_STORY_FLOW"</SPAN></SPAN>
strFld(1) = "NAME"</SPAN></SPAN>
strFld(1) = Range("B1")</SPAN></SPAN>
strFld(2) = "LAST_PRICE"</SPAN></SPAN>
strFld(3) = "TIME"</SPAN></SPAN>
strFld(4) = "RT_PX_CHG_NET_1D"</SPAN></SPAN>
strFld(5) = "RT_PX_CHG_PCT_1D"</SPAN></SPAN>
strFld(6) = "HIGH"</SPAN></SPAN>
strFld(7) = "LOW"</SPAN></SPAN>
strFld(8) = "VOLUME"</SPAN></SPAN>
strFld(9) = "OPEN"</SPAN></SPAN>
strFld(10) = "PX_YEST_CLOSE"</SPAN></SPAN>
strFld(11) = "CHG_PCT_YTD"</SPAN></SPAN>
strFld(12) = "CHG_PCT_1YR"</SPAN></SPAN>
strFld(13) = "VWAP"</SPAN></SPAN>
strFld(14) = "VOLUME_AVG_30D"</SPAN></SPAN>
strFld(15) = "VOLUME_AVG_6M"</SPAN></SPAN>
.Range("A1").Offset(i, 1).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(0) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 2).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(1) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 3).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(2) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 4).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(3) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 5).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(4) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 6).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(5) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 7).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(6) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 8).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(7) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 9).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(8) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 10).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(9) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 11).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(10) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 12).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(11) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 13).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(12) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 14).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(13) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 15).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(14) & """" & ")"</SPAN></SPAN>
.Range("A1").Offset(i, 16).Value = "=BDP(" & """" & strTicker & """" & "," & """" & strFld(15) & """" & ")"</SPAN></SPAN>
i = i + 1</SPAN></SPAN>
Next</SPAN></SPAN>
End With</SPAN></SPAN>
End Sub</SPAN></SPAN>