Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

ESTADISTICAS Actualizadas del CORONAVIRUS Web Scraping Raspado Web COMBOBOX en RIBBON #1010 Parte 6

combobox en ribbon estadistica covid 19

Estadistica Munciales Actualizadas del Covid 19 – Combobox en Ribbon

En este post se sigue con el ejemplo presentado, se muestra como agregar un Combobox o cuadro de lista a la cinta de opciones o Ribbon de Excel, el libro de Excel denominado Estadísticas Mundiales Actualizadas de Casos de Coronavirus, ahora incorpora en su programación un Combobox en la Cinta de Opciones.

Los links a las otras partes del ejemplo macro de Excel para realizar web scraping se muestra a continuación:

https://macrosenexcel.com/estadisticas-mundiales-del-coronavirus-web-scraping-raspado-web-1007/parte1

https://macrosenexcel.com/estadisticas-mundiales-del-coronavirus-web-scraping-raspado-web-1007-parte2

https://macrosenexcel.com/estadisticas-mundiales-del-coronavirus-web-scraping-raspado-web-1007-parte3/

https://macrosenexcel.com/estadisticas-mundiales-del-coronavirus-web-scraping-raspado-web-modificar-ribbon-1008-parte4//

https://macrosenexcel.com/estadisticas-mundiales-del-coronavirus-web-scraping-raspado-web-insertar-graficos-1009-parte5

ESTADISTICAS Actualizadas del CORONAVIRUS Web Scraping Raspado Web COMBOBOX en RIBBON #1010 Parte 6

Aprende Excel con los mejores click acá, si quieres aprender sobre Excel en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet, te lo recomiendo no te arrepentirás.

  
 

En el vídeo verás la macro en acción con una explicación más detallada de su codificación y funcionamiento, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestro canal de You Tube, mira el playlist con  vídeos relacionados donde podrás ver la macros relacionadas en acción con una explicación en forma visual que ayudará a entender el ejemplo en forma más fácil.

Scraping Web – Agregar Combobox en Cinta de Opciones del Libro Estadísticas Mundiales Actualizadas de Coronavirus

Para lograr agregar un Combobox en la barra de menu de Excel, Cinta de opciones o Ribbon, se debe modificar el codigo XML del Libro de Excel, a su vez agregar macros en Excel que permitan brindar todos los parámetros para que el Combobox funcione.

Al abrir el libro se observa una pestaña personalizada, si no sabes como hacerlo deberías ver los ejemplos anteriores al principio del blog se listan, seleccionando la pestaña personalizada, existen un montón de iconos personalizados que realizan distintas macros.

Si se observa dicha barra de Menu o cinta de opciones, resalta un Combobox en la barra Ribbon, que contiene el listado de países con Covid 19; el mismo se ha insertado en dicha barra para que al poder seleccionar un país, la macro busque en la base de datos de Access dicho país y muestre todos los datos e inserte gráficos en la hoja tendencia.

Para que funciones correctamente se deben agregar códigos tanto en el XML del archivo e Excel, como así también en un módulo de VBA.

Quizás también interese leer:

Punto de Venta con Excel – Busqueda de Clientes 
Punto de Venta con Excel – Editar Clientes 
Punto de Venta con Excel – Eliminar Clientes 

Explicación del Código del Ejemplo Estadisticas Mundiales Actuales de Covid 19- Scraping Web – Modificación de Ribbon – Combobox en Cinta de Opciones

Primero se explicará cual es el código insertado en el editor de XML, que es el siguiente;

<comboBox id=»ComboboxUni» label=»Pais: » sizeString=»1234567890123456789012345″ screentip=»Seleccione País»
supertip=»Permite seleccionar en el combobox y filtrar los datos de dicho país y mostrar en la hoja de Excel» onChange=»Menu.SelecUni» getItemCount=»Menu.NumUni» getItemLabel=»Menu.TextUni» getItemID=»Menu.IdUni»> </comboBox>

Si se fijan el código contiene la apertura de la etiqueta y el cierre

<comboBox

</comboBox>

Dentro de dichas etiquetas va el código que muestra o agrega un Combobox en la barra ribbon

Id= se debe agregar cualquier nombre que identifique el combobox la condición es que no esté repetido el ID

Label= es el texto que se muestra junto al combobox

sizeString= es el ancho del combobox son 25 caracteres, en vez de números como en el ejemplo se puede usar «XXXXXXXXXXXXXXXXXXXXXXXXX».

screentip= muestra una ayuda al dejar el mouse un segundo encima del ícono.

supertip= es lo mismo que el anterior, pero muestra una ayuda con mayores cantidad de caracteres.

onChange=»Menu.SelecUni»  acá se debe asignar la macro que se ejecutará cuando se selecciones un ítem del combobox.

getItemCount=»Menu.NumUni» cuenta la cantidad de items que se van a subir al combobox

getItemLabel=»Menu.TextUni» es el Label de cada items del Combobox

getItemID=»Menu.IdUni» es el ID de cada uno de los items del combobox 

Todo lo mostrado anteriormente el es código XML que se debe agregar en el archivo de Excel.

Para que funcione el Combobox agregado en la cinta de opciones se deben agregar una serie de macros que le trasmitan al Combobox los paramentos necesarios para funcionar.

El primero parámetro que se debe enviar al Combobox es la cantidad de registros, elementos o items que se cargarán en el Combobox, se hace con el siguiente código:

Public Sub NumUni(Control As IRibbonControl, ByRef NumeroOpciones)
Application.ScreenUpdating = False
uf = Sheets(«Parametros»).Range(«G» & Rows.Count).End(xlUp).Row
NumeroOpciones = Application.WorksheetFunction.CountA(Sheets(«Parametros»).Range(«G2:G» & uf))
End Sub

En el código anteriores se le esta pasando la cantidad de datos a cargar al Combobox insertado en la barra Ribbon, esto se hacer con la variable «NumeroOpciones» , fíjense que se carga en dicha variable la cantidad de items contados en el rango (G2: G & uf)

Para pasar los datos de los label al combobox incrustado en la barra Ribbon se hace de la siguiente manera:

Public Sub TextUni(Control As IRibbonControl, NumeroOpcion As Integer, ByRef TextoOpcion)
Application.ScreenUpdating = False
TextoOpcion = Sheets(«Parametros»).Cells(NumeroOpcion + 2, «G»)
End Sub

Con la variable TextoOpcion, se le indica al combobox que el Texto del item que va a cargar se encuentra e la columna G a partir de la fila 2.

Lo mismo que lo anterior se hacer con la variable IdOpcion, con esta variable se indica cual es la ID del elemento del Combobox que se encuentra en la Barra de Memú o Cinta de opciones.


Public Sub IdUni(Control As IRibbonControl, NumeroOpcion As Integer, ByRef IdOpcion)
Application.ScreenUpdating = False
IdOpcion = Sheets(«Parametros»).Cells(NumeroOpcion + 2, «G»)
End Sub

Por último se analiza la macro que hace que el Combobox funciones y filtre datos al seleccionar un ítem del Combobox, el código es el siguiente:

Public Sub SelecUni(Control As IRibbonControl, TxtSeleccionado As String)
Application.ScreenUpdating = False
Country = TxtSeleccionado
Sheets(«Tendencia»).Select
Call searchcountry
End Sub

Si todos los pasos anteriores se hicieron bien, al seleccionar un ítem de los cargados en el Combobox, se carga en la variable TxtSeleccioanado el nombre del ítem, que luego se hace igual a la variable Country que es el dato que la macro necesita para consultar los datos en la base de datos de Access.


Descarga el Libro en Excel Estadisticas Mundiales Actualizadas del Covid 19

A continuación se expone el código completo del Ejemplo Integral con Macros de Excel, donde hay macros de todo tipo, en forma posterior al código se encuentra el link para descargar el libro de ejemplo, solicito aportar para sostener esta web, si está dentro de tus posibilidades, desde ya muchas gracias.

Código XML del archivo de Excel

<customUI xmlns=»http://schemas.microsoft.com/office/2009/07/customui»>

<ribbon>
<tabs>
<tab id=»MyCustomTab» label=»ESTADISTICAS CORONAVIRUS – COVID 19″ insertAfterMso=»TabHome»>

<group id=»customGroup5″ label=»HERRAMIENTAS»>

<button id=»customButton24″ size=»large» label= «Actualizar Estadística» screentip=»Actualiza los datos»
supertip=»Atualiza las estadisticas de la hoja de cálculo» onAction=»macro24″ image=»Mundo15″ />

<!– <button id=»customButton15″ size=»large» label= «Actualizar Explorer» screentip=»Actualiza Estadisticas con Explorer»
supertip=»Atualiza las estadisticas utilizando el navegador Explorer» onAction=»macro15″ image=»Access»/> –>

<button id=»customButton17″ size=»large» label= «Ordenar Datos» screentip=»Ordena Columnas»
supertip=»Permite ordenar las columnas en forma ascendente o descendente por tres criterios de orden» onAction=»macro17″ image=»ordenar» />

<button id=»customButton18″ size=»large» label= «Limpiar Controles» screentip=»Limpia Textbox de Búsqueda»
supertip=»Permite limpiar o borrar el textbox para realizar una nueva búsqueda» onAction=»macro18″ image=»Limpiar» />

<button id=»customButton27″ size=»large» label= «Quitar Filtro» screentip=»Quita Filtro»
supertip=»Permite quitar el filtro si lo hubiere mostrando todos los datos» onAction=»macro27″ image=»Filtro13″ />

<button id=»customButton16″ size=»large» label= «Guardar Access» screentip=»Guarda Estadísticas en Access»
supertip=»Guarda todos los registros que se encuentran en la hoja de Excel en Access para luego poder ser consultados» onAction=»macro16″ image=»Access1″/>



</group >

<group id=»customGroup8″ label=»GRAFICOS»>
<button id=»customButton19″ size=»large» label= «Tendencia» screentip=»Muestras Tendencias»
supertip=»Seleccionando un país busca los datos en Access y los muestra en Excel creando gráficos» onAction=»macro19″ image=»grafico2″/>

<comboBox id=»ComboboxUni» label=»Pais: » sizeString=»1234567890123456789012345″ screentip=»Seleccione País»
supertip=»Permite seleccionar en el combobox y filtrar los datos de dicho país y mostrar en la hoja de Excel» onChange=»Menu.SelecUni» getItemCount=»Menu.NumUni» getItemLabel=»Menu.TextUni» getItemID=»Menu.IdUni»> </comboBox>


</group >


<group id=»customGroup3″ label=»IMPRIMIR»>
<button id=»customButton25″ size=»large» label= «Setup Hoja» screentip=»Configura Hoja Excel»
supertip=»Permite configurar el encabezado de la hoja de Excel.» onAction=»macro25″ image=»setting6″ />

<button id=»customButton11″ size=»large» label= «Vista Previa» screentip=»Vista Previa de Impresión»
supertip=»Permite visualizar lo que se desea imprimir» onAction=»macro11″ image=»buscar23″ />

<button id=»customButton12″ size=»large» label= «Imprimir Hoja» screentip=»Imprime Planilla de Cálculos»
supertip=»Permite imprimir la planilla de cálculos que se está visualizando en pantalla» onAction=»macro12″ image=»imprimir4″ />
</group >

<group id=»customGroup4″ label=»EXPORTAR»>

<button id=»customButton13″ size=»large» label= «PDF» screentip=»Guardar en PDF»
supertip=»Permite guardar en PDF la planilla de cálculos» onAction=»macro13″ image=»pdf2″ />

<button id=»customButton14″ size=»large» label= «Excel» screentip=»Exporta a un Archivo Excel»
supertip=»Permite Exportar a un archivo de Excel la planilla de cálculos» onAction=»macro14″ image=»Excel5″ />

<button id=»customButton26″ size=»large» label= «Word» screentip=»Exporta a un Archivo Word»
supertip=»Permite Exportar a un archivo de Word la planilla de cálculos, cuadro y gráficos» onAction=»macro26″ image=»Word3″ />

</group >

<group id=»customGroup7″ label=»SETUP»>

<button id=»customButton22″ size=»large» label= «Setup» screentip=»Establece Configuración del Sistema»
supertip=»Permite configurar sistema, entre otras, la dirección del directorio donde se guardarán los archivos exportados» onAction=»macro22″ image=»setting3″ />

<button id=»customButton23″ size=»large» label= «Ayuda» screentip=»Muestra Ayuda»
supertip=»Muestra ayuda sobre como operar el sistema» onAction=»macro23″ image=»ayuda1″ />

</group >

</tab>
</tabs>
</ribbon>
</customUI>

Código que se ingresa en Modulo «CONSULTA»


Public Country
Sub searchcountry()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim cn As ADODB.Connection, rs As ADODB.Recordset
On Error Resume Next
Set d = Sheets(«Tendencia»)
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset

uf = d.Range(«A» & Rows.Count).End(xlUp).Row
d.Range(«A22:P1000»).Clear

With ActiveSheet.ChartObjects.Delete: End With ‘Borra todos los graficos de la hoja

mybookindice = Sheets(«Parametros»).Range(«C2»)
cn.Open «Provider=Microsoft.ACE.OLEDB.12.0; » & «data source=» & mybookindice & «;»
‘Country = «USA»
Sql = «SELECT * FROM DB_COVID_19 WHERE Pais = ‘» & Country & «‘»

Set rs = cn.Execute(Sql)
If rs.EOF = True Then
Set rs = Nothing
cn.Close
Set cn = Nothing
Else
d.Cells(22, 1).CopyFromRecordset Data:=rs
col = col + 1
Set rs = Nothing
cn.Close
Set cn = Nothing
End If

d.Range(«A21») = «Id»
d.Range(«B21») = «Fecha»
d.Range(«C21») = «País»
d.Range(«D21») = «Casos»
d.Range(«E21») = «Nuevos Casos»
d.Range(«F21») = «Muertes»
d.Range(«G21») = «Nuevas Muertes»
d.Range(«H21») = «Recuperados»
d.Range(«I21») = «Casos Activos»
d.Range(«J21») = «Casos Criticos»
d.Range(«K21») = «Casos/1M Pob»

‘Ordena por casos en caso que se recuperen desordenados
‘rango de datos a ordenar
pf = 21
uf = d.Range(«A» & Rows.Count).End(xlUp).Row – 1
If d.Range(«A» & uf + 1) <> «Total:» Then uf = d.Range(«A» & Rows.Count).End(xlUp).Row
uc = d.Cells(21, Columns.Count).End(xlToLeft).Address
pc = d.Cells(21, Columns.Count).End(xlToLeft).End(xlToLeft).Address
wc = Mid(uc, InStr(uc, «$») + 1, InStr(2, uc, «$») – 2)
wc1 = Mid(pc, InStr(pc, «$») + 1, InStr(2, pc, «$») – 2)
r2 = wc1 & pf & «:» & wc & uf

r1 = «A» & pf & «:A» & uf

‘sorts the data
ActiveWorkbook.Worksheets(«Tendencia»).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(«Tendencia»).Sort.SortFields.Add Key:=Range(r1) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(«Tendencia»).Sort
.SetRange Range(r2)
.header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

d.Range(«A:A»).Delete

uf = d.Range(«A» & Rows.Count).End(xlUp).Row
fil = 23
col = «L»
col1 = «N»
d.Range(col & fil – 1) = «Totales País: » & d.Range(«B» & uf)
d.Range(col & fil – 1 & «:» & col1 & fil – 1).Merge
d.Range(col & fil) = «Total Casos»
d.Range(col1 & fil) = d.Range(«C» & uf) ‘casos
d.Range(col & fil + 1) = «Total Casos Activos»
d.Range(col1 & fil + 1) = d.Range(«H» & uf) ‘casos activos
d.Range(col & fil + 2) = «Total Recuperados»
d.Range(col1 & fil + 2) = d.Range(«G» & uf) ‘recuperados
d.Range(col & fil + 3) = «Total Muertos»
d.Range(col1 & fil + 3) = d.Range(«E» & uf) ‘muertes
d.Range(col & fil + 4) = «Total Casos Criticos»
d.Range(col1 & fil + 4) = d.Range(«I» & uf) ‘casos criticos

d.Range(«C1:O1»).UnMerge
d.Range(«C1») = «HISTORIAL CASOS DE CORONAVIRUS – COVID 19»
With d.Range(«C1»)
.Font.Size = 16
.Font.Color = 16777215 ‘blanco
.Interior.Color = 0
End With

With d.Range(«C1:O1»)
.Merge
.Interior.Color = 0 ‘negro
.Font.Color = 16777215 ‘blanco
.Font.Bold = True
.HorizontalAlignment = xlCenter
End With

With d.Range(«A21:J21»)
.Interior.Color = 0 ‘negro
.Font.Color = 16777215 ‘blanco
.Font.Bold = True
.HorizontalAlignment = xlCenter
End With

d.Range(«K21:P» & uf).Interior.Color = 16777215 ‘blanco
With d.Range(«L22:M22»)
.Interior.Color = 0 ‘negro
.Font.Color = 16777215 ‘blanco
.Font.Bold = True
.HorizontalAlignment = xlCenter
End With

d.Range(«L23:N23,L25:N25,L27:N27»).Interior.Color = 13082801 ‘Morado claro
d.Range(«L23:N27»).Font.Bold = True

uf = d.Range(«A» & Rows.Count).End(xlUp).Row
If uf < 21 Then uf = 21

For x = 23 To uf Step 2
d.Range(«A» & x & «:J» & x).Interior.Color = 5296274 ‘verde claro ‘morado claro 13082801 ‘5296274 verde claro
Next x

d.Range(«C22:I» & uf & «,N23:N27»).NumberFormat = «#,##0»
d.Range(«J22:J» & uf & «,N23:N27»).NumberFormat = «#,##0.00»

d.Range(«A:A»).ColumnWidth = 17
d.Range(«B:B»).ColumnWidth = 10.71
d.Range(«C:C»).ColumnWidth = 12.14
d.Range(«D:D»).ColumnWidth = 12
d.Range(«E:E»).ColumnWidth = 14
d.Range(«F:F»).ColumnWidth = 11.86
d.Range(«G:G»).ColumnWidth = 12.43
d.Range(«H:H»).ColumnWidth = 12.57
d.Range(«I:I»).ColumnWidth = 12.43
d.Range(«J:J»).ColumnWidth = 11.43

d.Range(«A21:A» & uf & «,C21:C» & uf & «,H21:H» & uf).Select
Set ran = d.Range(«A2»)
Set myChart = ActiveSheet.ChartObjects.Add(100, 200, 350, 242)
With myChart
.Chart.SetSourceData Source:=Selection
.Chart.ChartType = xlLineMarkers
‘.Chart.SeriesCollection(1).XValues = Range(«A22:A36»)
.Chart.ApplyLayout (3)
.Chart.ChartTitle.Select
.Chart.ChartTitle.Text = «Total de Casos Coronavirus»
.Top = ran.Top
.Left = 1 ‘ ran.Top
.Width = 350
.Height = 242
End With

d.Range(«A21:A» & uf & «,E21:E» & uf & «,G21:G» & uf & «,I21:I» & uf).Select
Set ran = d.Range(«E2»)
Set myChart = ActiveSheet.ChartObjects.Add(100, 200, 350, 200)
With myChart
.Chart.SetSourceData Source:=Selection
.Chart.ChartType = xlLineMarkers
‘.Chart.SeriesCollection(1).XValues = Range(«A22:A36»)
.Chart.ApplyLayout (3)
.Chart.ChartTitle.Select
.Chart.ChartTitle.Text = «Recuperados, Criticos, Muertos»
.Top = ran.Top
.Left = 351 ‘ ran.Top
.Width = 350
.Height = 242
End With

d.Range(«B21:C21,B» & uf & «:C» & uf).Select
Set ran = d.Range(«J2»)
ActiveSheet.Shapes.AddChart2(494, xlRegionMap, 702, ran.Top, 350, 242).Select
ActiveSheet.ChartObjects(«Gráfico 29742»).Activate
ActiveChart.ChartTitle.Select
ActiveChart.SetElement (msoElementChartTitleNone)
ActiveChart.SetElement (201)

d.Range(«A1»).Select
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

 

Código que se ingresa en Modulo «MENU» Asociado Icono del Menu Ribbon

If VBA7 And Win64 Then
‘Si es de 64 bits
Public Declare PtrSafe Function ShellExecute Lib «shell32.dll» Alias «ShellExecuteA» (ByVal hwnd As LongPtr, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPtr
Public Declare PtrSafe Function FindWindow Lib «user32» Alias «FindWindowA» (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Public Declare PtrSafe Function GetWindowLongPtr Lib «user32» Alias «GetWindowLongPtrA» (ByVal hwnd As LongPtr, ByVal nIndex As Long) As LongPtr
Public Declare PtrSafe Function SetWindowLongPtr Lib «user32» Alias «SetWindowLongPtrA» (ByVal hwnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
Public Declare PtrSafe Function DrawMenuBar Lib «user32» (ByVal hwnd As Long) As LongPtr
Public Declare PtrSafe Function RegOpenKeyA Lib «advapire32.dll» (ByVal hKey As LongPtr, ByVal lpSubKey As String, phkResult As LongPtr) As LongPtr
Public Declare PtrSafe Function SetCursorPos Lib «user32» (ByVal x As LongPtr, ByVal y As LongPtr) As LongPtr
Public Declare PtrSafe Sub mouse_event Lib «user32» (ByVal dwFlags As LongPtr, ByVal dx As LongPtr, ByVal dy As LongPtr, ByVal cButtons As LongPtr, ByVal dwExtraInfo As LongPtr)
Public Declare PtrSafe Function SetWindowPos Lib «user32» (ByVal hwnd As LongPtr, ByVal hWndInsertAfter As LongPtr, ByVal x As LongPtr, ByVal y As LongPtr, ByVal cx As LongPtr, ByVal cy As LongPtr, ByVal wFlags As LongPtr) As LongPtr
Public Declare PtrSafe Function SetForegroundWindow Lib «user32» (ByVal hwnd As LongPtr) As LongPtr
#Else
‘Si es de 32 bits
Public Declare Function ShellExecute Lib «shell32.dll» Alias «ShellExecuteA» (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Declare Function FindWindow Lib «USER32» Alias «FindWindowA» (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function GetWindowLong Lib «USER32» Alias «GetWindowLongA» (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib «USER32» Alias «SetWindowLongA» (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function DrawMenuBar Lib «USER32» (ByVal hwnd As Long) As Long
Public Declare Function RegOpenKeyA Lib «advapire32.dll» (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function SetCursorPos Lib «USER32» (ByVal x As Long, ByVal y As Long) As Long
Public Declare Sub mouse_event Lib «USER32» (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Public Declare Function SetWindowPos Lib «USER32» (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
PUBLIC Declare Function SetForegroundWindow Lib «user32» (ByVal hwnd As Long) As Long
#End If

Public llama

Sub macro11(Control As IRibbonControl)
‘Menu Vista previa planilla
On Error Resume Next
Call VistaPrevia
End Sub
Sub macro12(Control As IRibbonControl)
‘Menu imprime planilla
On Error Resume Next
Call Imprime
End Sub
Sub macro13(Control As IRibbonControl)
‘Menu guarda en PDF
On Error Resume Next
Call GuardarPDF
End Sub
Sub macro14(Control As IRibbonControl)
‘Menu exporta a Excel
On Error Resume Next
Call ExportaExcel
End Sub
Sub macro15(Control As IRibbonControl)
‘Actualiza desde Explorer
On Error Resume Next
llama = 15
UserForm1.Show
End Sub
Sub macro16(Control As IRibbonControl)
‘Guardar en Access
On Error Resume Next
Call InsertaEstadisticasCovid19
End Sub
Sub macro17(Control As IRibbonControl)
‘Menu Ordena datos
On Error Resume Next
UserForm4.Show
End Sub
Sub macro18(Control As IRibbonControl)
‘Menu Limpia textbox y combobox para realizar nueva busqueda
On Error Resume Next
Call Limpiar
End Sub
Sub macro19(Control As IRibbonControl)
‘Menu llena combobox con países
On Error Resume Next
Set bb = Sheets(«Tendencia»)
Sheets(«Tendencia»).Select
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Call Llenacombo1
bb.Range(«A2:P1000»).Clear
With ActiveSheet.ChartObjects.Delete: End With ‘Borra todos los graficos de la hoja
End Sub

Sub macro22(Control As IRibbonControl)
‘Menu Setup
On Error Resume Next
UserForm3.Show
End Sub
Sub macro23(Control As IRibbonControl)
‘Menu ayuda
On Error Resume Next
ActiveWorkbook.FollowHyperlink ThisWorkbook.Path & «\» & «1007 Estadisticas Munciales Coronavirus Covid 19.pdf», , True
End Sub
Sub macro24(Control As IRibbonControl)
‘Menu Actualiza y obtiene estadisticas de la web
On Error Resume Next
llama = 24
UserForm1.Show
End Sub
Sub macro25(Control As IRibbonControl)
‘Menu Configurar Encabezado Hoja Excel
On Error Resume Next
UserForm2.Show
End Sub
Sub macro26(Control As IRibbonControl)
‘Menu exporta a Word
On Error Resume Next
Call ExportaWord
End Sub
Sub macro27(Control As IRibbonControl)
‘Menu quita filtro
On Error Resume Next
Call Quitafiltro
End Sub
Public Sub NumUni(Control As IRibbonControl, ByRef NumeroOpciones)
Application.ScreenUpdating = False
uf = Sheets(«Parametros»).Range(«G» & Rows.Count).End(xlUp).Row
NumeroOpciones = Application.WorksheetFunction.CountA(Sheets(«Parametros»).Range(«G2:G» & uf))
End Sub
Public Sub TextUni(Control As IRibbonControl, NumeroOpcion As Integer, ByRef TextoOpcion)
Application.ScreenUpdating = False
TextoOpcion = Sheets(«Parametros»).Cells(NumeroOpcion + 2, «G»)
End Sub
Public Sub IdUni(Control As IRibbonControl, NumeroOpcion As Integer, ByRef IdOpcion)
Application.ScreenUpdating = False
IdOpcion = Sheets(«Parametros»).Cells(NumeroOpcion + 2, «G»)
End Sub
Public Sub SelecUni(Control As IRibbonControl, TxtSeleccionado As String)
Application.ScreenUpdating = False
Country = TxtSeleccionado
Sheets(«Tendencia»).Select
Call searchcountry
End Sub

Código que se ingresa en la hoja Tendencia

Private Sub ComboBox1_Change()
‘Private Sub ComboBox1_Click()
If ComboBox1.ListIndex = -1 Then Exit Sub
Country = ComboBox1
Call searchcountry
End Sub

Código que se ingresa en el Menu Herramientas

Sub Llenacombo1()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Application.EnableEvents = False

Dim cn As ADODB.Connection, rs As ADODB.Recordset
On Error Resume Next
Set d = Sheets(«Tendencia»)
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
mybookindice = Sheets(«Parametros»).Range(«C2»)
cn.Open «Provider=Microsoft.ACE.OLEDB.12.0; » & «data source=» & mybookindice & «;»
Application.EnableEvents = False ‘Anula el evento change del combbox al escribir en el
‘Carga combobox
d.ComboBox1.Clear
Sql = «SELECT DISTINCT Pais FROM DB_COVID_19»
Set rs = cn.Execute(Sql)
Do While rs.EOF = False
d.ComboBox1.AddItem rs.fields(0)
rs.MoveNext
Loop
‘Application.EnableEvents = True
d.ComboBox1 = Country
Set rs = Nothing
cn.Close
Set cn = Nothing
Call searchcountry
Application.EnableEvents = True
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub


Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.

If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.

Donate:
Cuenta Paypal: https://paypal.me/programarexcel
Cuenta Bitcoin: 1KBGGb8fyDzyR3X1Rie6m7VguzaAfngNbd
Cuenta Ether: 0x41Bbd24556914C83a31217eBb3BC49789b66e407

Summary
Author Rating
1star1star1star1star1star
Aggregate Rating
no rating based on 0 votes