Ejecutar macro al seleccionar celda (dentro de un rango de celdas)

En una hoja de excel (Hoja1), tengo el rango de celdas A1:A10, B1:B10, C1:C10 (ejemplo)

...........A...............B.............C

1.....UNO..............*..............

2.....DOS .............*..............

3.....TRES............*..............

4.....CUATRO.......*..............

5.....CINCO..........*..............

6.....SEIS .............*..............

7.....SIETE............*..............

8.....OCHO...........*..............

9.....NUEVE..........*..............

10. .DIEZ..............*..............

Lo que ocupo es que al seleccionar (con el mouse o con el teclado) la celda B3, en la celda C3 me ponga el valor de A3 ...

...........A...............B.............C
1.....UNO..............*..............
2.....DOS .............*..............
3.....TRES............*..........TRES
4.....CUATRO.......*..............
5.....CINCO..........*..............
6.....SEIS .............*..............
7.....SIETE............*..............
8.....OCHO...........*..............
9.....NUEVE..........*..............
10. .DIEZ..............*..............

Y que si selecciono la celda B7 me ponga en la celda C7 el valor de A7, y que al mismo tiempo borre de la celda anterior el dato introducido (en este caso borraría los datos de C3)...

...........A...............B.............C
1.....UNO..............*..............
2.....DOS .............*..............
3.....TRES............*.............. <- AQUÍ se Borra el dato anterior
4.....CUATRO.......*..............
5.....CINCO..........*..............
6.....SEIS .............*..............
7.....SIETE............*.........SIETE
8.....OCHO...........*..............
9.....NUEVE..........*..............
10. .DIEZ..............*..............

Y asi sucesivamente dependiendo de la celda que seleccione dentro del rango de B1:B10.

1 respuesta

Respuesta
1

Te mando la solución. Estas son las instrucciones:

-Primero rellena los datos de la columna A

-Ahora copia esta macro dentro del objeto hoja que estamos tratando ya que es un evento.

Public columna
Public fila
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Target.Column = 2 Then
Cells(fila, columna).Value = ""
ActiveCell.Offset(0, 1).Value = ActiveCell.Offset(0, -1).Value
fila = ActiveCell.Offset(0, 1).Row
columna = ActiveCell.Offset(0, 1).Column
End If
End Sub

Después retrocede a la hoja y solo tienes que pulsar en alguna celda de la columna B para ver lo que pasa.

Recuerda finalizar la consulta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas