Ordenar columnas de una macro

Hola!! Hace unos días pedí su ayuda para crear una Macro que grabara registros y los fuera acumulando. Luismondelo me ayudo con esto... Como les decía en la pregunta anterior tengo 2 hojas, una denomina "vale" y otra "salidas". El código con el que me ayudo funciona perfecto, sin embargo, he tenido que cambiar el orden de algunas columnas de mi hoja "salidas".

se encontraban de esta forma: Inicia en la columna "A

Fecha, folio,persona,código, categoría, descripción,cantidad, unidad, marca,precio, total.

ahora lo que quiero es que queden de la siguiente forma:

Fecha, folio,categoría, código, descripción,cantidad, unidad, marca,precio, total, persona,

El código que Luis me dio es el siguiente:

Sub ejemplo7()
'por luismondelo
Range("a10:h" & Sheets("vale").Range("a65000").End(xlUp).Row).Copy
Sheets("salidas").Range("d65000").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
Sheets("salidas").Select
Range("c65000").End(xlUp).Offset(1, 0).Select
Do While ActiveCell.Offset(0, 1).Value <> ""
ActiveCell.Value = Sheets("vale").Range("d44").Value
ActiveCell.Offset(0, -1).Value = Sheets("vale").Range("h3").Value
ActiveCell.Offset(0, -2).Value = Sheets("vale").Range("c5").Value
ActiveCell.Offset(1, 0).Select
Loop
Sheets("vale").Select
Range("a10:h39").ClearContents
Range("d44,h3,c5").ClearContents
Range("c5").Select
End Sub

De antemano gracias por su ayuda!

1 Respuesta

Respuesta
1

Esta sería tu nueva macro:

Sub ejemplo7()
'por luismondelo
Sheets("vale").Select
Range("b10:b" & Sheets("vale"). Range("b65000").End(xlUp). Row). Copy
Sheets("salidas"). Range("c65000").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
Range("a10:a" & Sheets("vale"). Range("a65000").End(xlUp). Row). Copy
Sheets("salidas"). Range("d65000").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
Range("c10:h" & Sheets("vale"). Range("c65000").End(xlUp). Row). Copy
Sheets("salidas"). Range("e65000").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
Sheets("salidas").Select
Range("b65000").End(xlUp).Offset(1, 0).Select
Do While ActiveCell.Offset(0, 1).Value <> ""
ActiveCell.Value = Sheets("vale").Range("h3").Value
ActiveCell.Offset(0, -1).Value = Sheets("vale").Range("c5").Value
ActiveCell.Offset(1, 0).Select
Loop
Range("k65000").End(xlUp).Offset(1, 0).Select
Do While ActiveCell.Offset(0, -1).Value <> ""
ActiveCell.Value = Sheets("vale").Range("d44").Value
ActiveCell.Offset(1, 0).Select
Loop
Sheets("vale").Select
Range("a10:h39").ClearContents
Range("d44,h3,c5").ClearContents
Range("c5").Select
End Sub

recuerda finalizar la consulta

Hola Luis! gracias por tu ayuda, mira la macro funciona bien una parte, pero cuando ingreso los datos del vale, en mi hoja salidas, también copia el encabezado" persona" y no solo el nombre. ahi tengo otros datos que no debe copiar sin embargo los copia, estos últimos datos que menciono los copia a partir de la fila 40. Me puedes ayudar con esto, por favor?

Nuevamente gracias por el tiempo que dedicas!

Mejor te he mandado por mail el archivo con la nueva macro funcionando. Está probada y lo hace correctamente.

Recuerda finalizar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas