Tengo un libro de trabajo conectado a una base de datos que tiene datos de stock. Tengo alrededor de 500 datos de símbolo bursátil y los busco uno por uno ingresando el símbolo bursátil (resaltado en rosa) en la consulta como se muestra a continuación.
Todo el tiempo tengo que abrir Propiedades de conexión y luego Definición para cambiar el símbolo de cotización. Este proceso requiere mucho tiempo.
Quiero un cuadro de texto en mi cinta donde inserto el símbolo de stock, cambiará la consulta.
Aquí está mi código VBA después de que grabé una macro.
Sub Macro2()
'
' Macro2 Macro
'
'
Range("B6963").Select
With ActiveWorkbook.Connections("ABC"). _
OLEDBConnection
.BackgroundQuery = True
.CommandText = Array( _
"Select QuoteDate ,StockSymbol, HighPrice, LowPrice, ClosePrice, Volume From StockQuotedaily Where StockSYmbol='BRC" _
, "' Order by Quotedate")
.CommandType = xlCmdSql
.Connection = Array( _
"OLEDB;Provider=SQLOLEDB.1;Password=ABC;Persist Security Info=True;Extended Properties=""DRIVER=SQL Server;SERVER=ABC" _
, _
";UID=sa;APP=Microsoft Office 2013;WSID=ABC;DATABASE=ABC"";Use Procedure for Prepare=1;Auto Translat" _
, _
"e=True;Packet Size=4096;Workstation ID=ABC;Use Encryption for Data=False;Tag with column collation when possible=Fal" _
, "se")
.RefreshOnFileOpen = False
.SavePassword = True
.SourceConnectionFile = ""
.SourceDataFile = ""
.ServerCredentialsMethod = xlCredentialsMethodIntegrated
.AlwaysUseConnectionFile = False
End With
With ActiveWorkbook.Connections("ABC")
.Name = "ABC"
.Description = ""
End With
End Sub
Los cuadros de texto en cintas son realmente desordenados. Un enfoque mucho más sencillo es un cuadro de entrada emergente. Cambie el .CommandText a:
Array("Select QuoteDate ,StockSymbol, HighPrice, LowPrice, ClosePrice, Volume From StockQuotedaily Where StockSYmbol='" & InputBox("Stock Symbol"), "' Order by Quotedate")
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras