Visual Basic para Aplicaciones - Macro para intercambiar celdas

Life is soft - evento anual de software empresarial
 
Vista:

Macro para intercambiar celdas

Publicado por Daniel (2 intervenciones) el 13/04/2016 21:58:11
Hola amigos.
Les pido ayuda porque necesito una macro en excel, pero no tengo ninguna experiencia en el tema.
Creo que sería algo sencillo. Lo que necesito es una macro asignada a una tecla (ctrl-k, por ejemplo) que cuando la invoque tenga por efecto el intercambio completo de la celda actual, con la celda inmediata superior. El cambio debe incluir no solo datos sino también formato (colores, texto, bordes, etc).

Ejemplo: si estoy parado en la celda B150, ésta debe intercambiarse por la celda B149. Debe funcionar en cualquier celda en que esté parado.

Yo intenté hacerlo con mis escasos conocimientos de VBA, y no lo pude lograr.

Podrían ayudarme ?

Daniel
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Macro para intercambiar celdas

Publicado por JuanC (565 intervenciones) el 13/04/2016 23:08:00
un ejemplo para intercambiar el valor (el resto -formato- es más de lo mismo)
1
2
3
4
5
6
7
8
9
Dim cellA As Range, cellB As Range
Dim Tmp As Variant
 
Set cellA = ActiveCell
Set cellB = ActiveCell.Offset(-1)
 
Tmp = cellB.Value
cellB.Value = cellA.Value
cellA.Value = Tmp
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Macro para intercambiar celdas

Publicado por Daniel (2 intervenciones) el 13/04/2016 23:57:33
Gracias JuanC, tu ayuda me apuntó en la dirección correcta.
Terminé resolviéndolo de la siguiente manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub MoverUp()
'
' MoverUp Macro
' Acceso directo: CTRL+k
 
  Dim cellA As Range, cellB As Range
 
  Set cellA = ActiveCell
  Set cellB = ActiveCell.Offset(-1)
 
  cellA.Cut
  cellB.Select
  Selection.Insert Shift:=xlDown
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar