Inversión de columna VBA
Resuelto
texastina
Mensajes publicados
55
Estado
Miembro
-
texastina Mensajes publicados 55 Estado Miembro -
texastina Mensajes publicados 55 Estado Miembro -
Hola,
Quisiera saber si es posible invertir el contenido de varias columnas gracias al VBA.
Ej: Columna D ==> Columna B
Columna B ==> Columna C
Columna C ==> Columna D
Espero haber sido lo suficientemente clara :)
Gracias por tus respuestas :)
Quisiera saber si es posible invertir el contenido de varias columnas gracias al VBA.
Ej: Columna D ==> Columna B
Columna B ==> Columna C
Columna C ==> Columna D
Espero haber sido lo suficientemente clara :)
Gracias por tus respuestas :)
4 respuestas
Hola,
Sí, es posible. Incluso puedes limitarte al primer desplazamiento: columna D frente a columna B.
Las otras columnas estarán automáticamente en el lugar correcto.
Si además de tu pregunta quieres saber cómo hacerlo, utiliza el grabador de macros y tendrás el código.
Saludos cordiales
Sí, es posible. Incluso puedes limitarte al primer desplazamiento: columna D frente a columna B.
Las otras columnas estarán automáticamente en el lugar correcto.
Si además de tu pregunta quieres saber cómo hacerlo, utiliza el grabador de macros y tendrás el código.
Saludos cordiales
Hola,
Sí, eso es posible gracias a la secuencia de comandos copiar y pegar.
En tu caso:
Espero haber sido lo suficientemente claro, a hacerlo según tu deseo :)
Manténme informado si hay algo que no entiendes.
Sí, eso es posible gracias a la secuencia de comandos copiar y pegar.
En tu caso:
dim ejemplo as Range // Declaración de tu campo de acción ejemplo = Range("A1;E600") // Selección de un rango amplio, a adaptar según la longitud de tus columnas. ejemplo.Column(4).select // Selecciona la columna D Selection.copy // Copia la columna seleccionada ejemplo.Column(5).select // Selecciona la columna E ActiveSheet.Paste // Pega lo que se ha copiado en la columna seleccionada Espero haber sido lo suficientemente claro, a hacerlo según tu deseo :)
Manténme informado si hay algo que no entiendes.
Hola
intenta:
--
Michel
intenta:
Opción Explícita
'------------------
Sub bcd_cdb()
Dim Derlig As Integer, T_in, T_out, cptr As Integer
Application.ScreenUpdating = False
Derlig = Cells.Find(what:="*", searchdirection:=xlPrevious).Row
T_in = Range("B1:D" & Derlig)
ReDim T_out(1 To Derlig, 1 To 3)
For cptr = 1 To UBound(T_in)
T_out(cptr, 1) = T_in(cptr, 3) '
T_out(cptr, 2) = T_in(cptr, 1) '
T_out(cptr, 3) = T_in(cptr, 2) '
Next
Range("B1").Resize(UBound(T_in), 3) = T_out
End Sub
--
Michel
Elijo tu método, lo encuentro más simple
Gracias a ustedes, ¡buen día! :)