Saltar al contenido

VBA para desagrupar todas las columnas de una hoja y eliminar todas las columnas que contengan determinadas palabras


Recommended Posts

publicado

Buenos días,

 

¿podrías ayudarme con el código que se debe aplicar para desagrupar todas las columnas de una hoja excel?

También necesitaría vuestro apoyo para descubrir como eliminar las columnas que contengan la palabra "Production plan" y "dispatched volume" de la fila 5.

Hasa ahora tenía la siguiente formula, pero me da error:

Sub Control_Producción()

'
' Control_Producción Macro
' Controlar el material producido vs la producción planificada
'
' Acceso directo: CTRL+p
Cells.ClearComments ' eliminar comentario de la hoja'
 
Worksheets(1).Select
    Set MR = Range("5:5") ' Eliminar columnas que contengan la palabra production plan y dispatched volume"
    For Each cell In MR
        If cell.Value = "dispatched volume" Then cell.EntireColumn.Delete
        If cell.Value = "production plan" Then cell.EntireColumn.Delete
       
    Next

End Sub

Gracias de antemano por vuestro apoyo!

publicado
En 3/2/2021 at 12:59 , mgm2222 dijo:

Gracias de antemano por vuestro apoyo!

¿Porqué no subes tu archivo y vemos qué es eso de desagrupar columnas? :huh:

publicado
En 4/2/2021 at 22:42 , mgm2222 dijo:

Pues tienes razón, que mejor que verlo in situ.

Pues aun viéndolo in situ sigo sin entender qué necesitas... Si eliminas esas columnas que dices, te quedas solo con 3 columnas :huh: ¿Porqué no las eliminas a mano y ya está? O me he perdido algo con tu consulta

publicado

Buenos días,

Cada semana recibo este excel con los datos actualizados y a veces me modifican los datos de la columna producción planificada para igualarla con el Actual Output. Yo he cogido como base la misma tabla pero únicamente con la producción planificada. Mi idea es que con una macro cada semana coja los datos de las columnas actual Output, del excel que me envían, las añada en una hoja de mi excel donde solo tengo la producción planificada y allí mediante formulas pueda comparar la cantidas planificada vs el actual output semanal.

Si lo hago manualmente me lleva mucho tiempo, y es una tarea que quiero automatizar.

De todos modos, creo que mi mayor hándicap, es encontrar la formula VBA para que únicamente me copie las columnas de actual Output y las pomga de forma ordenada en la otra hoja excel, para que mediante un sumar.si.conjunto, pueda ver en la tabla fimal la producción planificada vs el actual output de cada pieza para cada ubicación en la semana que corresponda y así identificar el desvío que hay entre producción planificada y actual output.

Gracias por tu apoyo!

publicado
Hace 21 minutos , Antoni dijo:

Para la primera cuestión:

Sheets("Plan_update").Columns.Ungroup
 

La segunda voy a intentar entenderla.


 

 

Y aquí la segunda:

Sub Desagrupar_EliminarColumnas()
With Sheets("Plan_update")
   .Columns.Ungroup
   Application.ScreenUpdating = False
   For y = .Cells(5, Columns.Count).End(xlToLeft).Column To 1 Step -1
      If LCase(.Cells(5, y)) Like "*production plan*" Or _
         LCase(.Cells(5, y)) Like "*production" & Chr(10) & "plan*" Or _
         LCase(.Cells(5, y)) Like "*dispatched volume*" Or _
         LCase(Cells(5, y)) Like "*dispatched" & Chr(10) & "volume*" Then
         .Columns(y).Delete
      End If
   Next
End With
End Sub

 

Archivado

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

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.