Como poner dos funciones de macro en un solo botón.

Tengo un botón en una Hoja de Excel y en este asignado una macro, lo que necesito es que ejecute una segunda macro al momento de oprimir el mismo botón. ¿Se puede hacer esto?, por ejemplo, la macro que tengo me copia información de una hoja a otra, pero en ocasiones en la hoja a donde me copia hay mas información de la que va a copiar y necesitaría que antes de que copie limpie los campos de la Hoja2.

2 Respuestas

Respuesta

Mil gracias maestro excelente yo creo que aquí me soluciona algo que yo necesitaba y es que al copiar o cortar una fila a otra hoja no corte toda la fila sino hasta la columna o sea el largo de fila que contiene datos

Respuesta
2

Se pueden encadenar las macros, en este caso, lo que entiendo, tendrías que limpiar primero la hoja2, si ya tienes la macro2, en la macro1 antes de la instrucción de copiar escribe:

call macro2

Saludos. Dam

Si es lo que necesitas.

buenos días, mira igual y si es pero no se como aplicarla, mejor te paso la macro que tengo a la cual le quiero agrerar dos funciones mas.

Private Sub SALIDAS_Click()

'esta la ocupo para que copie información a otra hoja.

fila = 24
Hoja3.Select
Range("B65000").End(xlUp).Offset(1, 0).Value = "end"
Range("B5").Select
Do While ActiveCell.Value <> "end"
If ActiveCell.Value = 1 Then
Range(ActiveCell, ActiveCell.Offset(0, 4)).Copy
Hoja4.Cells(fila, 1).PasteSpecial Paste:=xlValues
fila = fila + 1
End If
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.ClearContents
Hoja4.Select
End Sub

lo que necesito agregar a este botón es que antes de agregar la información limpie el rango de la Hoja4(B24:E64), La macro que tengo copia información de las filas que contengan el numero 1, lo que también necesitaría hacer es que en la columna H me pusiera la leyenda "entregado" a todas aquellas filas que contengan el numero 1.

espero y puedas ayudarme.

saludo y bendiciones

Esta sería la macro

Private Sub SALIDAS_Click()
'esta la ocupo para que copie información a otra hoja.
fila = 24
Hoja4.Select
Range("B24:E64").ClearContents
Hoja3.Select
Range("B65000").End(xlUp).Offset(1, 0).Value = "end"
Range("B5").Select
Do While ActiveCell.Value <> "end"
If ActiveCell.Value = 1 Then
    Hoja3.Cells(ActiveCell.Row, "H") = "entregado"
Range(ActiveCell, ActiveCell.Offset(0, 4)).Copy
Hoja4.Cells(fila, 1).PasteSpecial Paste:=xlValues
fila = fila + 1
End If
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.ClearContents
Hoja4.Select
End Sub

Saludos.Dam

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas