Macro VBA contar
No tengo casi idea de VBA pero como alguna vez alguna modificación de algún código he hecho.. Así que he intentado crear el código yo misma pero esta claro que algo falla...
Intentare explicar el problema lo mejor posible:
Tengo en la Hoja 1 el siguiente rango b2:j15
Las columnas b, de, f... Contienen un desplegable con la opción Ind o Auto
Las columnas c, e, g... Son para escribir, pero puede que estén en blanco.
Necesito que en VBA me cuente todas las celdas que contienen Ind y ademas su celda de la derecha esta escrita, y también que me calcule las celdas que están en Auto y ademas tienen la casilla de su derecha escrita... Las que tengan la casilla de la derecha en blanco no.
Y que me de cada resultado en la Hoja 2
Os dejo el código:
Sub contarceldas()
Dim Auto As Variant
Dim Ind As Variant
For columnas = 2 To 10
For fila = 2 To 15
Cells(fila, columnas).Select
If ActiveCell.Value="Auto" And ActiveCell(0, 1)<>""Then
'si pone Auto y su celda de la derecha esta escrita
Auto = Auto + 1
End If
If ActiveCell.Value="Ind" And ActiveCell(0, 1)<>"" Then
'si pone Int y su celda de la derecha esta escrita
Ind = Ind + 1
End If
Next fila
Next columnas
Worksheets("Hoja2").Range("a1").Value = "reserva final A"
Worksheets("Hoja2").Range("a2").Value = "reserva final I"
Worksheets("Hoja2").Range("b1").Value = Auto
'muestra resultado de Auto
Worksheets("Hoja2").Range("b2").Value = Ind
'muestra resultado de Ind
End Sub
Muchísimas gracias
Intentare explicar el problema lo mejor posible:
Tengo en la Hoja 1 el siguiente rango b2:j15
Las columnas b, de, f... Contienen un desplegable con la opción Ind o Auto
Las columnas c, e, g... Son para escribir, pero puede que estén en blanco.
Necesito que en VBA me cuente todas las celdas que contienen Ind y ademas su celda de la derecha esta escrita, y también que me calcule las celdas que están en Auto y ademas tienen la casilla de su derecha escrita... Las que tengan la casilla de la derecha en blanco no.
Y que me de cada resultado en la Hoja 2
Os dejo el código:
Sub contarceldas()
Dim Auto As Variant
Dim Ind As Variant
For columnas = 2 To 10
For fila = 2 To 15
Cells(fila, columnas).Select
If ActiveCell.Value="Auto" And ActiveCell(0, 1)<>""Then
'si pone Auto y su celda de la derecha esta escrita
Auto = Auto + 1
End If
If ActiveCell.Value="Ind" And ActiveCell(0, 1)<>"" Then
'si pone Int y su celda de la derecha esta escrita
Ind = Ind + 1
End If
Next fila
Next columnas
Worksheets("Hoja2").Range("a1").Value = "reserva final A"
Worksheets("Hoja2").Range("a2").Value = "reserva final I"
Worksheets("Hoja2").Range("b1").Value = Auto
'muestra resultado de Auto
Worksheets("Hoja2").Range("b2").Value = Ind
'muestra resultado de Ind
End Sub
Muchísimas gracias
1 Respuesta
Respuesta de juanbauzam
1