Saltar al contenido

Macro en visual basic


Recommended Posts

publicado

Buenas tardes.

Tengo un libro que los datos funcionan correctamente, lo que necesito es una macro que haga todo esto que pueden ver en el libro que adjunto pero poder eliminar las formulas y que la macro sea la que se encarge de hacer esto. Ejemplo: En la hoja CLIENTES columna I8 tengo esta macro: =SUMAR.SI(DATOS!D7:F2000;"ACANA";DATOS!F7:F2000) y pasa igual en todas las filas hacia abajo.

La pregunta es ¿se puede hacer todo esto con codigo visual y así poder eliminar las formulas de la hoja? Y tambien en la Hoja datos tengo otra formula en la columna C :=CONTAR.SI($D$6:D7;CLIENTES!$D$2)

¿Tambien se podría hacer con codigo vb?.

Lo que busco es evitar tener que poner formulas en las hojas DATOS y en la de CLIENTES.Muchas gracias.

Compras 2015.rar

publicado

Macro para contar:

Sub Tarja()

Dim i As Double

Dim final As Double

Application.ScreenUpdating = False

'Calculamos el rango de los datos en la columna A

Worksheets("Reporte").Select

final = Application.CountA(Worksheets("BD").Range("b:b"))

For i = 5 To final

'Contamos las veces que se repiten cada uno de los nombres en el rango seleccionado

Nombres = Worksheets("Reporte").Cells(i, 3).Value

Worksheets("Reporte").Cells(i, 5).Value = Application.CountIf(Worksheets("BD").Range("B4:B" & final), Nombres)

Next

Range("C4").Select

Worksheets("BD").Select

End Sub

Espero te sea de ayuda.

Saludos

Jose

publicado

Olvidado, olvide colocarte la de sumar.si:

Sub Example3()

Dim varResult As Variant

'=SUMIF(B2:B7,"Smith",D2:D7)

Hoja2.Range("I5") = Application.WorksheetFunction.SumIf( _

Arg1:=Hoja1.Range("B4:B5831"), _

Arg2:=Hoja2.Range("C5"), _

Arg3:=Hoja1.Range("G4:G5831"))

End Sub

  • Silvia bloqueó este tema

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.