Jump to content

Ocultar columnas que tienen celdas vacías


tono812

Recommended Posts

Buenos días,

Tengo un problema con un archivo de excel al que quiero mediante un botón ocultar las columnas cuyas celdas estén vacías,  es un inventario de productos por almacen que muestra las cantidades del mismo de acuerdo al código de cada producto. Me oculta las columnas del rango que estoy usando sin tomar en cuenta si están vacías o no. En una archivo con menos datos lo he probado y si funciona. Adjunto el archivo para que lo miren.

También tiene programado un buscador para que muestre solo la referencia del producto requerida, entonces la mecánica del archivo sería mostrar solo una referencia de producto y poder ocultar las columnas (almacenes) que no tengan ningún producto de dicha búsqueda realizada.

 

Gracias de antemano por su ayuda.

master-retirar-beta.xls

Link to comment
Share on other sites

Gracias por tu ayuda me ha servido de mucho, el campo de búsqueda se debe mantener como estaba funcionando, no debe ser un campo exacto porque hay referencias que tienen el mismo código y solo cambia él último digito que es el color o las dos primeras letras que son la familia. Todas las columnas que no tienen ningun valor deben desaparecer de acuerdo a la búsqueda realizada. 

 

Adjunto una imagen para que se visualice mejor.

image001.jpg

Link to comment
Share on other sites

La mía.

Sub Mostrar()
Application.ScreenUpdating = False
Range("B:CM").EntireColumn.Hidden = False
End Sub
'--
Sub Ocultar()
Dim Filtro As Range
Application.ScreenUpdating = False
Mostrar
For y = 2 To Columns("CM").Column
   If WorksheetFunction.CountIf(Cells(8, y).Resize _
     (Range("A" & Rows.Count).End(xlUp).Row, 1), "<>" & Empty) = 0 Then
      Columns(y).Hidden = True
   End If
Next
End Sub

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Crear macros Excel

  • Posts

    • A ver que tal, prueba y comenta Facturación 26082021JSD.xlsm
    • Hola, Yo no me entero muy bien; en el ejemplo que has puesto de  Puedes usar =IZQUIERDA(A1;4)/100 (suponiendo que el numero esta en A1). Seguro que no te refieres a eso porque es muy simple, pon mas ejemplos.
    • Hola a todos, soy nueva por aquí     Tengo una duda de una exportación de una tabla SQL, donde los precios de los productos, en lugar de exportarlos en formato moneda con decimales, me los exporta en el siguiente formato: "00.000.000" está en formato "número", pero no sé como hacer para pasarlo a un formato de moneda, ya que los últimos tres "0" me sobran y me suma los 8 dígitos, cuando los 3 últimos no valen.    Por ejemplo:  10.123.001 (Es un producto que vale 10,12€ Como puedo hacer para eliminar el resto de dígitos? No encuentro la manera y claro, tampoco puedo realizar operaciones en excel puesto que me suma todos los dígitos...   No sé si me he explicado bien...   Gracias!!  
    • Buenas , soy nuevo en esto de Macros , pero investigando he dado esta solución , El macro funciona con el directorio "C:\Excel\"  la llamada al Macro es " Analizar_archivos" desde Libro.xlsm Option Explicit Dim ArchivoAbrir As Excel.Workbook Sub Analizar_Archivos() Dim Dir, Carpeta, Archivo As Object Dim Ruta As String Dim Listado() As Variant Set Dir = CreateObject("Scripting.FileSystemObject") Ruta = "C:\Excel\" ' ruta donde mirar On Error GoTo Error Set Carpeta = Dir.GetFolder(Ruta) For Each Archivo In Carpeta.Files ' recorremos los archivos de la carpeta If InStr(1, Archivo.Name, "~$") = 0 And _ InStr(1, Archivo.Name, "xlsm") = 0 And _ Archivo.Name <> "C:\Excel\Libro.xlsm" Then ' exclusiones AbrirarchivoExterno (Ruta & Archivo.Name) ' abrimos el archivo End If Next Exit Sub Error: MsgBox "Ruta inexistente", vbCritical End Sub Sub AbrirarchivoExterno(Archivo) On Error Resume Next If Len(Archivo) > 0 Then Set ArchivoAbrir = Workbooks.Open(Archivo) Workbooks.Open(Archivo).Application.Visible = False ' abrimos el archivo en modo invisible Comprueba ' comprobamos el archivo abierto Cerrar (Archivo) ' cerramos el archivo abierto End If End Sub Sub Cerrar(Archivo) Set ArchivoAbrir = Workbooks.Open(Archivo) ArchivoAbrir.Save ArchivoAbrir.Close End Sub Sub Comprueba() Dim Texto As String Texto = Range("Bc30").Value Select Case Texto Case Is = "hogares" Range("bc30").Value = "infiernos" Case Is = "alquileres" Range("bc30").Value = "placeres" Case Is = "compartir" Range("bc30").Value = "genesis" Case "infiernos", "placeres", "genesis" Case Else Range("Bc30").Value = "" End Select End Sub    suerte.
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy