
Si no tienes conocimiento suficiente sobre el manejo de hojas de Excel, te recomiendo antes de introducirte en el mundo de las macros, que leas un excelente libro sobre Excel el que te ayudará manejar las planillas de cálculo, debes hacer click acá, si quieres un libro sobre Excel, en inglés, entonces debes hacer click acá.
![]() |
MASTERCARD PAYONEER |
Desde el link del final se puede descargar el archivo de ejemplo de esta manera podrás ver su funcionamiento en forma más detallada. El código de VBA o Macro de Excel evalúa ciertas celdas, si las mismas se encuentran con datos es decir no vacías, entonces copia los datos, caso contrario sale un msgbox que le indica que rellene todos los datos de los campos necesarios, en caso que necesites ayuda sobre msgbox visita el post relacionado; si necesitas saber sobre combobox incrustado en Excel debes visitar el siguiente post.
La macro de Excel funciona de la siguiente forma, cuando se inicia el archivo de Excel hace que el CommandButton se bloque, si se ingresan datos en las celdas determinadas como necesarias, entonces se desbloquea el CommandButton y se copian loa datos correspondientes de la hoja1 en la hoja2.
Código que se debe insertar en el control en este caso CommandButton1
Private Sub CommandButton1_Click()
dato1 = ActiveSheet.Cells(1, 1)
dato2 = ActiveSheet.Cells(2, 1)
dato3 = ActiveSheet.Cells(1, 3)
If dato1 <> emtpy And dato2 <> emtpy And dato3 <> emtpy Then
CommandButton1.Locked = False
Search
Else
MsgBox («Debe rellenar los campos solicitados»), vbCritical, «AVISO»
End If
End Sub
Código que se debe insertar en Worksheet de la hoja donde está incrustado el control activex en este caso es un commandButton o Botón de Comando.
Private Sub Worksheet_Activate()
CommandButton1.Locked = True
End Sub
Código que se debe insertar en un módulo
Sub Search()
Application.ScreenUpdating = False
Dim filac, filabr, filam As Integer
filac = 1
filam = 1
Sheets(«hoja2»).Select
Cells.Select
Selection.ClearContents
While Sheets(«hoja1»).Cells(filac, 1) <> Empty
Sheets(«hoja2»).Cells(filam, 1) = Sheets(«hoja1»).Cells(filac, 1)
Sheets(«hoja2»).Cells(filam, 2) = Sheets(«hoja1»).Cells(filac, 2)
Sheets(«hoja2»).Cells(filam, 3) = Sheets(«hoja1»).Cells(filac, 3)
Sheets(«hoja2»).Cells(filam, 4) = Sheets(«hoja1»).Cells(filac, 4)
filam = filam + 1
filac = filac + 1
Wend
MsgBox («Los datos se guardaron correctamente»), vbInformation, «AVISO»
Application.ScreenUpdating = True
End Sub
Otros post de utilidad:
Busca un dato en todas las hojas de excel
Combobox incrustado en Excel
Formulario para insertar datos en hoja de excel
Tutoriales sobre VBA
Llenar combobox y buscar datos
Mensaje de Alerta y envío de mail con Excel
Combobox que lista hojas de excel y las selecciona
.
If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.
Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends