Macro Countif en columnas contiguas cada vez que se ejecute la macro

"Sub Prueba_contasi()

For i = 3 To 28

Nombres = Workbooks("prueba descamsos.xlsm").Worksheets("Hoja1").Cells(i, 1).Value
Workbooks("prueba descamsos.xlsm").Worksheets("Hoja1").Cells(i, 2).Value = Application.CountIf(Workbooks("Descansos.xlsx").Worksheets("Hoja1").Range("B5:B58"), Nombres)
Next

End Sub"

Tengo ese código el cual ejecuta un contar si en la celdas de la columna indicada (Columna B). Lo que estoy intentando realizar (y no logro concretarlo) es que cada vez que la macro se ejecute ejecute esa fórmula pero en la columna de al lado (en las mismas filas pero en la columna siguiente).

Si alguien me puede dar una mano, se lo agradecería. No soy experto y de a poco voy aprendiendo a usar VBA.

1 respuesta

Respuesta
1

Prueba con la siguiente:

Sub Prueba_contasi()
with Workbooks("prueba descamsos.xlsm").Worksheets("Hoja1")
  uc = .Cells(3, columns.count).end(xltoleft).column + 1
  For i = 3 To 28
    Nombres = .Cells(i, 1).Value
    .Cells(i, uc).Value = Application.CountIf(Workbooks("Descansos.xlsx").Worksheets("Hoja1").Range("B5:B58"), Nombres)
  Next
End With
End Sub

Avísame cualquier duda.

Millones de gracias Dante, funciona a la perfección la macro tal como buscaba hacerlo. Algo nuevo que aprendí je je.
De nuevo mil gracias por la ayuda.-

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas