Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Algo de ayuda para transferir columnas entre hojas

¡Hola!

Así que tengo acceso a una hoja de Excel de mi empresa. Pero en este archivo solo tiene los últimos cinco meses y actualmente mes, cada uno es una columna.

Pero necesito un análisis del año actual, por lo que quiero alguna forma de transferir automáticamente la columna del mes más antiguo a otra hoja.

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hola @denisetiburzivc ,

No he tenido noticias tuyas en un tiempo y quería hacer un seguimiento. ¿Has tenido la oportunidad de probar las soluciones que se han ofrecido? Si el problema se ha resuelto, ¿puede marcar la publicación como resuelta? Si todavía tienes desafíos, no dudes en hacérnoslo saber y estaremos encantados de seguir ayudándote.
¡Esperamos su respuesta!

Syndicate_Admin
Administrator
Administrator

  • Presione Alt + F11 para abrir el editor de Visual Basic para aplicaciones.
  • En el editor, vaya a Insertar > módulo y pegue el siguiente código:

Sub TransferOldestMonthColumn()
Dim wsSource como hoja de cálculo
Dim wsTarget como hoja de cálculo
Dim lastColumn As Integer
Dim oldestMonthColumn As Integer

' Reemplace "Hoja1" con el nombre real de su hoja de origen
Establecer wsSource = ThisWorkbook.Sheets("Sheet1")

' Encuentre la última columna con datos
lastColumn = wsSource.Cells(1, Columns.Count). Fin(xlToLeft). Columna

' Determine la columna del mes más antiguo en función de los encabezados de columna
oldestMonthColumn = Application.Match(WorksheetFunction.Min(wsSource.Range(Cells(1, 1), Cells(1, lastColumn))), wsSource.Range(Cells(1, 1), Cells(1, lastColumn)), 0)

' Crear una nueva hoja para los datos transferidos
Establezca wsTarget = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
wsTarget.Name = "Datos del mes más antiguo"

' Transfiera la columna del mes más antiguo a la nueva hoja
wsSource.Columns(oldestMonthColumn). Copiar wsTarget.Columns(1)

' Eliminar la columna del mes más antiguo de la hoja de origen
wsSource.Columns(oldestMonthColumn). Borrar
Fin de la substitución

  1. Cierre el editor de VBA y presione Alt + F8 para ejecutar la macro.
  2. Esta macro:
    • Identifique el mes más antiguo (columna situada más a la izquierda).
    • Muévalo a otra hoja (por ejemplo, Hoja2).
    • Elimine la columna del mes más antiguo de la hoja actual.

Puede ajustar los nombres de las hojas ("Hoja1" y "Hoja2") según sea necesario.

2. Uso de Power Query (proceso manual)

Como alternativa, puede usar Power Query para transferir manualmente la columna del mes más antiguo:

  1. Cargar datos en Power Query:
    • Seleccione sus datos y vaya a Datos > Obtener y transformar datos > de tabla/rango.
  2. Eliminar el mes más antiguo:
    • En Power Query, busque la columna que representa el mes más antiguo, haga clic con el botón secundario y seleccione Quitar.
  3. Cargar en otra hoja:
    • Después de eliminar la columna, vuelva a cargar la tabla actualizada en su hoja de Excel.
    • A continuación, guarde la columna eliminada cargándola en una nueva hoja en Excel.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors