Macro que eliminé el color

Necesito una macro que eliminé el color de fondo por columnas excepto la columna que tenga en el encabezado Texto1.

Respuesta
1

Puedes crear una macro en Microsoft Excel que elimine los colores de fondo de todas las columnas excepto la columna con el encabezado "Texto1". Aquí te muestro un ejemplo de código en Visual Basic for Applications (VBA) que puedes utilizar para crear la macro:

Sub RemoveBackgroundColors()
'Declara una variable para almacenar la columna del encabezado "Texto1"
Dim Texto1Column As Integer

'Encuentra la columna con el encabezado "Texto1"
Texto1Column = Cells.Find(What:="Texto1", LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext).Column

'Recorre todas las columnas en la hoja de cálculo
For i = 1 To Columns.Count
'Si la columna actual no es la columna con el encabezado "Texto1", elimina el color de fondo
If i <> Texto1Column Then
Columns(i).Interior.Color = xlNone
End If
Next i
End Sub

Para utilizar esta macro, siga estos pasos:

  1. Haz clic en la pestaña "Developer" en la cinta de opciones en Excel.
  2. Haz clic en "Editor de Visual Basic" para abrir el editor de VBA.
  3. Haz clic en "Insertar" y selecciona "Módulo".
  4. Pegue el código de arriba en el editor de código.
  5. Guarde la macro.
  6. Cierra el editor de VBA.
  7. Haz clic en la pestaña "Developer" en la cinta de opciones en Excel.
  8. Haz clic en "Macros" y selecciona "RemoveBackgroundColors".
  9. Haz clic en "Ejecutar".

La macro recorrerá todas las columnas en la hoja de cálculo y eliminará el color de fondo de todas las columnas excepto la columna con el encabezado "Texto1".

1 respuesta más de otro experto

Respuesta
2

La macro enviada por el experto Lucas resuelve tu consulta.

Solo le haría un pequeño ajuste para que no recorra el total de columnas de la hoja, sino que busque solo en las columnas ocupadas, con alguna de estas instrucciones:

 'guarda el total de col ocupadas en la hoja, estén continuas o no.
colx = ActiveSheet.UsedRange.Columns.Count 
 'guarda el total de col ocupadas a partir de A1
coly = Range("A1").End(xlToRight).Column

Por lo que la macro de Lucas quedaría así:

Sub RemoveBackgroundColors()
'Declara una variable para almacenar la columna del encabezado "Texto1"
Dim Texto1Column As Integer
Dim colx as Integer
'Encuentra la columna con el encabezado "Texto1"
Texto1Column = Cells.Find(What:="Texto1", LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext).Column
      'For i = 1 To Columns.Count
'Recorre todas las columnas 'ocupadas' en la hoja de cálculo
colx = ActiveSheet.UsedRange.Columns.Count
For i = 1 To colx
   'Si la columna actual no es la columna con el encabezado "Texto1", elimina el color de fondo
   If i <> Texto1Column Then
      Columns(i).Interior.Color = xlNone
   End If
Next i
End Sub

https://www.youtube.com/@ElsaMatilde 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas