Ayuda excel, macro.

06/02/2006 - 20:22 por SaTa | Informe spam
A ver tengo el siguiente problema, necesito mover los datos de cada
fila impar a una columna a continuacion de la fila anterior, o sea, la
par anterior.
por ejemplo:
los datos de B3,C3,G3 los tengo que mover(cortar y pegar) a
I2,J2,...N2, y eliminar la fila 3:3. y continuar con la siguiente fila
+1. eso si elimino la fila.(suponiendo que se ha movido la fila que era
la siguiente hacia arriba)

Alguna sugerencia. Son unas 2000 filas y para hacerlo a mano como que
...
Muchas gracias por anticipado.

Preguntas similare

Leer las respuestas

#1 victorbcn1952NO
06/02/2006 - 21:04 | Informe spam
Puedes hacer algo así: Coloca en I2 esta fórmula:

³

cópiala hasta N2, después copia I2:N2 a I4:N4, después I2:N4 a
I6:N8,...y así sucesivamente hasta que completes tus 2000 filas.
Después transforma las fórmulas de las columnas I:N en valores (Copiar,
Pegado especial,.) y por último, haz un filtro en las columnas I:N
seleccionando las filas en blanco, y cárgatelas de una sentada.

:-)



SaTa wrote:

A ver tengo el siguiente problema, necesito mover los datos de cada
fila impar a una columna a continuacion de la fila anterior, o sea, la
par anterior.
por ejemplo:
los datos de B3,C3,G3 los tengo que mover(cortar y pegar) a
I2,J2,...N2, y eliminar la fila 3:3. y continuar con la siguiente fila
+1. eso si elimino la fila.(suponiendo que se ha movido la fila que era
la siguiente hacia arriba)

Alguna sugerencia. Son unas 2000 filas y para hacerlo a mano como que

Muchas gracias por anticipado.
Respuesta Responder a este mensaje
#2 klomkbock
06/02/2006 - 22:25 | Informe spam
Hola Sata

Creo que esto te puede valer
Introduce la formula: =SI(ES.IMPAR(FILA(B3));B3;"") en I2 y la copias
hacia la derecha, con la cruz de arrastrar, tantas columnas como campos
tiene el registro, luego copias todo el conjunto anterior ( desde I2 hasta
la ultima celda copiada)tambien con la crucecita, hasta la ultima fila.
Por ultimo ordenas los registros por la columna I y eliminas todos los que
esten vacios a partir de I.

Espero que te valga.
Un saludo.
Ivan

SaTa wrote:

A ver tengo el siguiente problema, necesito mover los datos de cada
fila impar a una columna a continuacion de la fila anterior, o sea, la
par anterior.
por ejemplo:
los datos de B3,C3,G3 los tengo que mover(cortar y pegar) a
I2,J2,...N2, y eliminar la fila 3:3. y continuar con la siguiente fila
+1. eso si elimino la fila.(suponiendo que se ha movido la fila que era
la siguiente hacia arriba)

Alguna sugerencia. Son unas 2000 filas y para hacerlo a mano como que

Muchas gracias por anticipado.
Respuesta Responder a este mensaje
#3 klomkbock
06/02/2006 - 22:38 | Informe spam
Hola Sata
En la respuesta que te mande antes faltaria copiar todo el rango de las
filas impares y volverlo a pegar como "formato de origen y valores"
despues de haber aplicado la formula y antes de ordenarlo. De todas formas
no soy muy experto asi que no te fies demasiado.

Un saludo
Ivan
SaTa wrote:

A ver tengo el siguiente problema, necesito mover los datos de cada
fila impar a una columna a continuacion de la fila anterior, o sea, la
par anterior.
por ejemplo:
los datos de B3,C3,G3 los tengo que mover(cortar y pegar) a
I2,J2,...N2, y eliminar la fila 3:3. y continuar con la siguiente fila
+1. eso si elimino la fila.(suponiendo que se ha movido la fila que era
la siguiente hacia arriba)

Alguna sugerencia. Son unas 2000 filas y para hacerlo a mano como que

Muchas gracias por anticipado.
Respuesta Responder a este mensaje
#4 klomkbock
08/02/2006 - 03:35 | Informe spam
Hola Sata

Esta macro a lo mejor te sirve. Pegala en un modulo normal de VBA.
La variable "Celda" es la 1ª celda de la 1ª fila par(B2)
No tengo mucha idea asi que no te fies mucho, pero a mi me funciona.

Un saludo
Ivan

Sub MoverFilasImpares3()
Dim Celda As Range, RangoImpar As Range, RangoPar As Range
Dim UltimaFila As Long, i As Long, j As Long
UltimaFila = ActiveSheet.UsedRange.Rows.Count
UltimaFila = UltimaFila + ActiveSheet.UsedRange.Row - 1
Set Celda = Range("B2")
Application.ScreenUpdating = False
For i = 0 To UltimaFila Step 2
With Celda
Set RangoPar = Range(.Offset(0 + i, 7), .Offset(0 + i, 12))
Set RangoImpar = Range(.Offset(1 + i, 0), .Offset(1 + i, 5))
RangoImpar.Cut RangoPar
End With
Next i
For j = UltimaFila To 2 Step -1
If Application.CountA(Rows(j)) = 0 Then Rows(j).Delete
Next j
End Sub


SaTa wrote:

A ver tengo el siguiente problema, necesito mover los datos de cada
fila impar a una columna a continuacion de la fila anterior, o sea, la
par anterior.
por ejemplo:
los datos de B3,C3,G3 los tengo que mover(cortar y pegar) a
I2,J2,...N2, y eliminar la fila 3:3. y continuar con la siguiente fila
+1. eso si elimino la fila.(suponiendo que se ha movido la fila que era
la siguiente hacia arriba)

Alguna sugerencia. Son unas 2000 filas y para hacerlo a mano como que

Muchas gracias por anticipado.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida