Crie uma nova tabela sem qualquer formatação

Crie uma nova tabela sem qualquer formatação

Tenho um problema ao criar uma tabela a partir de um arquivo baixado do servidor/banco de dados. É um arquivo .xls mais antigo. Nesse arquivo há uma lista com 67 colunas e número arbitrário de linhas (depende da quantidade de dados existentes). Quando seleciono a lista e crio uma tabela a partir dela, a formatação é aplicada, o que altera a formatação padrão da lista. Vou Disign > Table Stylese clico clear, mas isso não limpa toda a formatação aplicada; a nova largura da coluna permanece.

Preciso que a largura da coluna não mude ao criar a tabela ou qualquer outra formatação que possa ser aplicada. Isso realmente bagunça meus arquivos e os torna inúteis para uso posterior. Preciso criar uma tabela sem nenhuma formatação aplicada. Estou usando o Excel 2016/1808/32 bits no Windows 7/64 bits.

Obrigado xD

Responder1

Este VBA (Macro) irá ajudá-lo a criar TABELA sem nenhum botão Formatar e Filtrar.

Sub TableWithoutStryle()
Dim Trange As Range
Dim Ws As Worksheet

Set Ws = ThisWorkbook.Sheets("Sheet1")

Set Trange = Application.InputBox(Prompt:= _
                "Please select a range,,", _
                    Title:="Create Table", Type:=8)


Ws.ListObjects.Add(xlSrcRange, Trange, , xlYes).Name = "NewTable1"
   Ws.ListObjects("NewTable1").TableStyle = ""
    Ws.ListObjects("NewTable1").ShowAutoFilterDropDown = False
End Sub

Como funciona:

  • ImprensaALT+F11para abrir o editor VB.
  • cópia de&Colareste Código comoMódulo Padrãocom a Folha.
  • Execute a macro e selecione o intervalo de dados necessário no qual deseja converterMESA, tão logoCaixa de entradaparece.
  • Terminar comOK
  • Você encontra o intervalo de dados selecionado agora convertido emMESAsem qualquer formato, (verifique usando o comando Table Design).

Observação

No código acima Sheet & Table namesão editáveis.

Responder2

Adicionei código para capturar larguras de colunas e restaurá-las após inserir a tabela:

Sub TableWithoutStryle()
Dim Trange As Range
Dim Ws As Worksheet
Dim ColWidth()

Set Ws = ActiveSheet

Set Trange = Selection

NumCols = Trange.Columns.Count

ReDim ColWidth(NumCols)

For i = 1 To NumCols
    ColWidth(i) = Trange(1, i).ColumnWidth
Next i

Ws.ListObjects.Add(xlSrcRange, Trange, , xlYes).Name = "NewTable1"
   Ws.ListObjects("NewTable1").TableStyle = ""
    Ws.ListObjects("NewTable1").ShowAutoFilterDropDown = False
    
For i = 1 To NumCols
    Trange(1, i).ColumnWidth = ColWidth(i)
Next i

End Sub

informação relacionada