¿Cómo copiar una celda a otra?

Sub Copiar()

Range("A1"). Copy

Range("B1"). PasteSpecial xlPasteValues
Application.CutCopyMode = False
End Sub

El código de arriba copia una celda a otra, pero lo que quiero hacer es que al darle el primer click al botón copia la celda a B1, al darle el segundo click lo pegue en B2, al darle el tercer click se pegue en el B3 y así sucesivamente hasta llegar a B6 cuando llegue a B6 y darle el siguiente click al botón lo pegue en B1.

Respuesta
1

Te recomiendo que uses un contador y cuando el contador llegue al numero de celda que tu quieres, lo vuelves a iniciar.

¿Como hago eso?

Supongamos que vamos a comenzar en la celda A1, para esto inicializamo nuetro contador de tipo long con valor de 1

Asi:

contador=1

para que veas como se comporta lo vamos a exhibir en la celda A10 de esta manera

cells(10,1)=contador

Ahora cada que presiones el botón ejecutaras también esta insrtuccion dentro de la macro que copiara lo de la celda x a la celda y, por ejemplo lo de la celda A1 a la celda B1:

cells(1,contador+1)=cells(1,contador)

contador=contador+1

después preguntas

if contador = (el numero de intentos que deseas ejecutar) then

          inicializas el contador a 1 nuevamente

         contador=1

end if

Inténtalo con tu lógica, cualquier duda sigo a tus ordenes.

1 respuesta más de otro experto

Respuesta
1

Por ahora lo que se me ocurre es que con esta macro que la ponga en el código de la hoja vaya dado clic en la celda A1 después clic en la celda A2 y así sucesivamente hasta llegar a la celda A6, espero le sea útil.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Address = Range("A1").Address Then
    Range("A1").Copy
    Range("B1").PasteSpecial xlPasteValues
    Application.CutCopyMode = False
End If
If ActiveCell.Address = Range("A2").Address Then
    Range("A2").Copy
    Range("B2").PasteSpecial xlPasteValues
    Application.CutCopyMode = False
End If
If ActiveCell.Address = Range("A3").Address Then
    Range("A3").Copy
    Range("B3").PasteSpecial xlPasteValues
    Application.CutCopyMode = False
End If
If ActiveCell.Address = Range("A4").Address Then
    Range("A4").Copy
    Range("B4").PasteSpecial xlPasteValues
    Application.CutCopyMode = False
End If
If ActiveCell.Address = Range("A5").Address Then
    Range("A5").Copy
    Range("B5").PasteSpecial xlPasteValues
    Application.CutCopyMode = False
End If
If ActiveCell.Address = Range("A6").Address Then
    Range("A6").Copy
    Range("B6").PasteSpecial xlPasteValues
    Application.CutCopyMode = False
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas