Macro para excel con condición columna

Si pueden ayúdame con una macro para excel estaría agradecido.

En B será igual que en la casilla anterior si en la columna A es igual que la casilla anterior, de no ser igual suma 1

Ejemplo:

Columna A hay ( Verano, Verano, Otoño, Invierno, Invierno, Primavera)

La columna B devuelve= 4 , 4, 5, 6, 6, 7

1 Respuesta

Respuesta
1

[Ho la Jose Carlos Gonzalez y bienvenido a TodoExpertos.

Visita:

Cursos de Excel y Macros

Por Dante Amor

----- --

Puedes hacerlo con una fórmula:

=SI(A2=A3;B2;B2+1)

Ejemplo, en la celda B2 pon el número 4, es el número inicial, en la celda B3 pones la fórmula.

----- --

Si lo quieres con macro, también debes indicar el valor inicial. 

Prueba la macro, suponiendo que tus datos empiezan en la celda A2, tal como mi ejemplo de la imagen anterior:

Sub ponervalores()
'Por Dante Amor
  Dim i As Long
  '
  Range("B2").Value = 4 'indicar el valor inicial
  '
  With Range("B3:B" & Range("A" & Rows.Count).End(3).Row)
    .Formula = "=IF(A2=A3,B2,B2+1)"
    .Value = .Value
  End With
End Sub

----- --

RECOMENDACIONES:

----- --

https://youtu.be/4klJVh_Ob0M 

Sal u dos Dante Amor

Muchas gracias por la rápida respuesta, probé con la fórmula y tuve que sustituir las comas por puntos coma y va perfecto. Si no es molestia con la macro... si los datos de la columna A, estuvieran en otro libro que se llama "Macro" en la hoja "movimientos" y si el valor 4 ; ¿Se podría sustituir por "B2"? Para ponder meterlo en la hoja de calculo directamente, como se vería afectado el resto del código.

"y si el valor 4 ; ¿Se podría sustituir por "B2"? "

Eso no lo entiendo.

----- --

Prueba así, el libro "Macro" debe estar abierto

Sub ponervalores()
'Por Dante Amor
  Dim i As Long
  '
  Workbooks("Macro").Activate
  Sheets("movimientos").Select
  Range("B2").Value = 4 'indicar el valor inicial
  '
  With Range("B3:B" & Range("A" & Rows.Count).End(3).Row)
    .Formula = "=IF(A2=A3,B2,B2+1)"
    .Value = .Value
  End With
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas