Saltar al contenido
View in the app

A better way to browse. Learn more.

Ayuda Excel

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Macro en Excel - Columnas a Filas Continuas

publicado

Buenas tardes,

Me parece genial este foro, pues se ve que hay bastante ayuda en cuanto a este tema de excel.

Soy nuevo y me agradaria que alguno me ayude con lo sig.

He encontrado este macro, en algún lugar jeje la verdad no recuerdo; y sirve casi perfectamente para lo que necesito. Lo que hace es pasar varios datos de columnas, uno debajo del otro, Obteniendo los datos en las filas, iniciando en 1 celda y terminando en la número 13 y los datos de la fila 2 acomodarlos de la celda 14 a la 27 y así sucesivamente hasta terminar con los datos iniciales.

Aqui lo comparto, 

-------------------------------------

Sub Columna()

    Const NUMERO_COLUMNAS = 8
    Const NUMERO_FILAS = 5000
    Const COLUMNA_DESTINO = 13 'La columna número 5 es la L
    
    Dim m As Long
    Dim n As Long
    Dim nFilaDestino As Long
    
    Columns(COLUMNA_DESTINO).Clear
    
    nFilaDestino = 1
    For m = 1 To NUMERO_FILAS
        For n = 1 To NUMERO_COLUMNAS
            Cells(nFilaDestino, COLUMNA_DESTINO) = Cells(m, n)
            nFilaDestino = nFilaDestino + 1
        Next
    Next
    
    Cells(1, COLUMNA_DESTINO).Select
    
End Sub

-------------------------------------

El problema radica en que sirve muy bien cuando hay 13 columnas, pero lo necesito aumentar a 30, y me sale error, he intentado cambiar las variables pero nada funciona. No soy conocedor de mucho en macros jeje pero he probado con lo que se y no encuentro la solucion.

Adjunto el archivo para que me entiendan mejor.

Alguien podria ayudarme?

Muchas gracias,

 

Rodrigo

macro-13.xls

Featured Replies

publicado

Posible Solución

Sub Columna()

    Const NUMERO_COLUMNAS = 30
    Const NUMERO_FILAS = 5000
    Const COLUMNA_DESTINO = 31 'La columna número 5 es la L
    
    Dim m As Long
    Dim n As Long
    Dim nFilaDestino As Long
    Dim nColumnaDestino As Long
    
    'Columns(COLUMNA_DESTINO).Clear
    
    nFilaDestino = 1
    For m = 1 To NUMERO_FILAS
        For n = 1 To NUMERO_COLUMNAS
        On Error Resume Next
            Cells(nFilaDestino, COLUMNA_DESTINO) = Cells(m, n)
            nFilaDestino = nFilaDestino + 1
        Next
    Next
    
    Cells(1, COLUMNA_DESTINO).Select
    
End Sub
 

Saludos

publicado
  • Autor

Genial, :) te lo agradezco mucho! pero ahora como podrian salir los resultados en la columna 35? es que necesito procesar 12mil lineas :)

Muchas gracias,

publicado
  • Autor

Mira, he intentado ejecutarlo con los datos que tengo pero me arroja error, aqui te adjunto para que lo analices, te lo agradezco enormemente!

macro-13 (1).xlsm

publicado
  • Autor

Muchas gracias a los 2! quedo super! de verdad muchas gracias!

  • Silvia bloqueó este tema

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.