서식 없이 새 테이블 만들기

서식 없이 새 테이블 만들기

서버/데이터베이스에서 다운로드한 파일에서 테이블을 생성하는 데 문제가 있습니다. 오래된 .xls 파일입니다. 해당 파일에는 67개의 열과 임의의 행 수(데이터 양에 따라 다름)가 있는 목록이 있습니다. 목록을 선택하고 테이블을 생성하면 목록의 기본 형식이 변경되는 형식이 적용됩니다. 가서 Disign > Table Styles클릭 clear했지만 적용된 모든 서식이 지워지지는 않습니다. 새로운 열 너비는 그대로 유지됩니다.

테이블을 만들 때 열 너비를 변경하지 않거나 적용할 수 있는 다른 서식이 필요합니다. 이로 인해 내 파일이 정말 엉망이 되어 나중에 사용할 수 없게 됩니다. 서식을 적용하지 않고 표를 만들어야 합니다. 저는 Windows 7/64bit에서 Excel 2016/1808/32bit를 사용하고 있습니다.

감사합니다 xD

답변1

이 VBA(매크로)는 형식 및 필터 버튼 없이 TABLE을 생성하는 데 도움이 됩니다.

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

작동 방식:

  • 누르다Alt+F11VB 편집기를 엽니다.
  • 복사&반죽이 코드는표준 모듈시트와 함께.
  • 매크로를 실행하고 변환하려는 필수 데이터 범위를 선택하세요.테이블, 최대한 빨리입력 상자나타납니다.
  • 와 끝내다좋아요
  • 이제 선택한 데이터 범위가 다음으로 변환되었습니다.테이블형식 없이 (테이블 디자인 명령을 사용하여 확인).

주의

위의 코드는 Sheet & Table name편집 가능합니다.

답변2

열 너비를 캡처하고 테이블을 삽입한 후 복원하는 코드를 추가했습니다.

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

관련 정보