Macro pase a celda anterior (de C8 a C7)

Todo Expertos! Tengo una lista en la la hoja llamada Valores en la columna C (C2:C8) y quisiera una macro que al hacer click en un dibujo en la hoja Resultados pase a la celda anterior, si la que se encuentra activa es la celda C6 de la hoja Valores que pase el valor de C5. Este valor se debe pegar en la celda B1 de la hoja Resultados.

1 respuesta

Respuesta
2

Visita:

Macros y Excel

Por Dante Amor.


Asigna la siguiente macro a tu imagen:

Sub macro()
  If ActiveCell.Address(0, 0) = "C2" Or Intersect(ActiveCell.Cells(1), Range("C2:C8")) Is Nothing Then
    Range("C8").Select
  Else
    ActiveCell.Offset(-1).Select
  End If
  Range("B1").Value = ActiveCell.Value
End Sub

Recomendaciones:

Enviar correos masivos - YouTube

Simular carrito de compras - YouTube

Sa l u dos

Dante Amor

Dante!

Al hacer click en la imagen no pega el valor en B1 de la celda activa de la hoja llamada Valores.

¿qué será?

¿B1 está en otra hoja?

¿Son 2 hojas?

¿En cuál hoja están los datos C2 a C8?

¿En cuál hoja quieres el resultado?

Información en hoja llamada Valores Rango C2:C8
Destino: hoja llamada Resultados Celda B1

Perdón, no leí con atención tu pregunta.

Prueba esto:

Sub macro()
  Dim sh1 As Worksheet, sh2 As Worksheet
  Dim celda As Range
  Application.ScreenUpdating = False
  Set sh1 = Sheets("Valores")
  Set sh2 = Sheets("Resultados")
  sh1.Select
  Set celda = ActiveCell
  If celda.Address(0, 0) = "C2" Or Intersect(celda, sh1.Range("C2:C8")) Is Nothing Then
    Set celda = sh1.Range("C8")
  Else
    Set celda = celda.Offset(-1)
  End If
  celda.Select
  sh2.Select
  Range("B1").Value = celda.Value
  Application.ScreenUpdating = True
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas