Forums Últimos mensajes - Powered by IBM
 

Pegar en celdas alternadas de una fila

14/01/2006 - 13:06 por RAUL | Informe spam
Hola grupo.
Tengo una planilla con datos alternados en columnas, ejemplo: item / valor.
Quisiera saber si puedo obtener una manera simple de "pegar" una fórmula o
valor de forma alternada en celdas de una misma fila. O sea pegar ese valor
en la fila (por ej.) 15 en las celdas correspondientes a las columnas c, e,
g,i, k, m etc. alternadamente, una si una no.
Gracias y saludos.
 

Leer las respuestas

#1 Héctor Miguel
15/01/2006 - 07:22 | Informe spam
hola, RAUL !

... con datos alternados en columnas, ejemplo: item / valor.
... una manera simple de "pegar" una formula o valor de forma alternada en celdas de una misma fila.
... pegar ese valor en la fila (por ej.) 15 en las celdas correspondientes a las columnas c, e, g, i, k, m etc. alternadamente...



[me temo que] lo que necesitas... 'tal-cual'... solo sea posible 'truqueando' entre variables, eventos y codigo 'especial' :))
asumiendo que SIEMPRE lo necesitaras dentro de la misma hoja [entre los rangos de origen y destino]...
prueba copiando las lineas al final de esta propuesta, en los modulos indicados...
[hace +/- lo mismo que edicion/pegar... solo que 'respetando' las distancias entre los rangos origen/destino] ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

1) en el modulo de codigo de 'esa' hoja...
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case Application.CutCopyMode
Case xlCopy
Case Else: Set Origen = Target
End Select
End Sub

2) en un modulo de codigo 'normal'
Public Origen As Range
Sub Pegar_Especial_Saltos()
If Application.CutCopyMode <> xlCopy Then Exit Sub
Dim Celda As Range, Filas As Long, Cols As Byte
Filas = ActiveCell.Row - Origen.Row
Cols = ActiveCell.Column - Origen.Column
For Each Celda In Origen
Celda.Copy Celda.Offset(Filas, Cols)
Next
End Sub

3) si necesitas copiar SOLO los valores resultantes... cambia dentro del bucle for...next a:
Celda.Offset(Filas, Cols) = Celda

4) puedes asignar un 'atajo de teclado' a la macro p.e. la v mayuscula con lo cual...
el atajo quedaria pulsando la combinacion de teclas -> ctrl + mayus + v
similar al atajo normal de {ctrl}+V -> {ctrl}+{mayus}+v :))

5) solo toma nota que pierdes el beneficio del des-hacer... undo... ctrl+z :-(
y SOLO puedes utilizarla una vez por cada {ctrl}+c

Preguntas similares