Te anexo las macros.
Debes crear un formulario con 2 botones y un listbox.
En el formulario pon el siguiente código:
Private Sub CommandButton1_Click()
'Por.Dante Amor
Application.ScreenUpdating = False
Set h1 = Sheets("Existencia")
Set h2 = Sheets("POLIZAS TERMINADAS")
'
If ListBox1.ListCount > -1 Then
For i = ListBox1.ListCount - 1 To 0 Step -1
f = Val(ListBox1.List(i, 4))
u2 = h2.Range("E" & Rows.Count).End(xlUp).Row + 1
h1.Rows(f).Copy
h2.Rows(u2).PasteSpecial Paste:=xlValues
h2.Rows(u2).PasteSpecial Paste:=xlFormats
h1.Rows(f).Delete
Next
End If
Unload Me
Application.CutCopyMode = False
Application.ScreenUpdating = True
MsgBox "Pólizas trasladas a la hoja Pólizas Terminadas", vbInformation
End Sub
'
Private Sub UserForm_Activate()
'Por.Dante Amor
Application.ScreenUpdating = False
ListBox1.ColumnCount = 5
Set h1 = Sheets("Existencia")
Set h2 = Sheets("POLIZAS TERMINADAS")
'
u = h1.Range("E" & Rows.Count).End(xlUp).Row
With h1.Sort
.SortFields.Clear: .SortFields.Add Key:=h1.Range("E5:E" & u)
.SetRange h1.Range("B4:O" & u): .Header = xlYes: .Apply
End With
'
ant = h1.Cells(5, "E")
wtot = 0
ini = 5
For i = 5 To u + 1
If ant <> h1.Cells(i, "E") Then
If wtot = 0 Then
For j = ini To i - 1
ListBox1.AddItem ant
ListBox1.List(ListBox1.ListCount - 1, 1) = h1.Cells(j, "G")
ListBox1.List(ListBox1.ListCount - 1, 2) = h1.Cells(j, "I")
ListBox1.List(ListBox1.ListCount - 1, 3) = wtot
ListBox1.List(ListBox1.ListCount - 1, 4) = j
Next
End If
ini = i
wtot = 0
End If
wtot = wtot + h1.Cells(i, "J")
ant = h1.Cells(i, "E")
Next
Application.ScreenUpdating = True
End Sub
'
Private Sub CommandButton2_Click()
'Por.Dante Amor
Unload Me
End Sub
Instrucciones para userform
- Abre tu hoja de excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- En el menú elige Insertar / UserForm
- Le das dobleclik en cualquier parte del Panel del userForm y copias la macro
Pon un botón en tu hoja y en un módulo pon el siguiente código:
Asigna el botón a la macro abrir
Sub Abrir()
'Por.Dante Amor
UserForm1.Show
End Sub
Sigue las Instrucciones para un botón y ejecutar la macro
- Abre tu libro de Excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- En el menú elige Insertar / Módulo
- En el panel del lado derecho copia la macro
- Ahora para crear un botón, puedes hacer lo siguiente:
- Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
- Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
- Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
- Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: abrir
- Aceptar.
- Para ejecutarla dale click a la imagen.
Saludos. Dante Amor
Recuerda valorar la respuesta.