![Crie uma nova tabela sem qualquer formatação](https://rvso.com/image/1585782/Crie%20uma%20nova%20tabela%20sem%20qualquer%20formata%C3%A7%C3%A3o.png)
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 Styles
e 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 name
sã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