Sigue las Instrucciones para un botón y ejecutar la macro
1. Abre tu libro de Excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Ahora para crear un botón, puedes hacer lo siguiente:
6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona Asignar macro / Selecciona: contar
9. Aceptar.
10. Para ejecutarla dale click a la imagen.
Sub contar()
'Por.DAM
Application.ScreenUpdating = False
c1 = "D" 'columna de nombres
c2 = "F" 'columna de actividades
Set h1 = Sheets("Hoja1") 'hoja de datos
Set h2 = Sheets("td") 'hoja de resultado
nom = h1.Range(c1 & "1")
act = h1.Range(c2 & "1")
h = h2.Name
h2.Cells.Clear
h1.Range(c1 & ":" & c1 & "," & c2 & ":" & c2).Copy h2.Range("A1")
h2.Select
uf = Range("A" & Rows.Count).End(xlUp).Row
ActiveSheet.Range("A$1:$B$" & uf).RemoveDuplicates _
Columns:=Array(1, 2), Header:=xlYes
uf = Range("A" & Rows.Count).End(xlUp).Row
ActiveWorkbook.PivotCaches.Create(xlDatabase, _
h & "!R1C1:R" & uf & "C2", _
xlPivotTableVersion12).CreatePivotTable _
TableDestination:=h & "!R1C4", _
TableName:="Tabla dinámica1", _
DefaultVersion:=xlPivotTableVersion12
With ActiveSheet.PivotTables("Tabla dinámica1")
.AddDataField .PivotFields(nom), "Cuenta de " & nom, xlCount
.PivotFields(act).Orientation = xlRowField
.PivotFields(act).Position = 1
.ColumnGrand = False
.CompactLayoutRowHeader = "ACTIVIDAD"
.PivotFields("Cuenta de " & nom).Caption = "CUENTA"
End With
Columns("D:E").Copy
Range("D1").PasteSpecial Paste:=xlPasteValues
Columns("A:C").Delete Shift:=xlToLeft
Range("A1").Select
Application.ScreenUpdating = True
End Sub
Cambia en la macro esta parte
c1 = "D" 'columna de nombres
c2 = "F" 'columna de actividades
Set h1 = Sheets("Hoja1") 'hoja de datos
Set h2 = Sheets("td") 'hoja de resultado
Cambia la "D" por la columna en donde tienes los nombres
La "F" por la de Actividad.
"Hoja1" por el nombre de tu hoja
Crea una hoja que se llame "td", O bien, crea una hoja y pon el nombre que quieras y cambia “td” por el nombre que pusiste.
Saludos. DAM
No olvides finalizar la pregunta.