ListObject.ListColumns 속성
ListObject 개체에 있는 열 모두를 나타내는 ListColumns 컬렉션을 반환하며 읽기 전용입니다.
Syntax
expression.ListColumns
expression : ListObject 개체를 나타내는 변수입니다.
다음은 ListColumns 속성을 호출하여 만든 ListColumns 컬렉션 개체의 둘째 열 이름을 표시하는 예제입니다. 이 코드를 실행하려면 Sheet1 워크시트에 테이블이 있어야 합니다.
Sub DisplayColumnName()
Dim wrksht As Worksheet
Dim objListObj As ListObject
Dim objListCols As ListColumns
Set wrksht = ActiveWorkbook.Worksheets("Sheet1")
Set objListObj = wrksht.ListObjects(1)
Set objListCols = objListObj.ListColumns
Debug.Print objListCols(2).Name
End Sub
매크로 실행 후
다음 코드는 지정된 시트의 지정된 테이블에 있는 각 열의 이름, 인덱스, 범위를 출력합니다.
Sub PrintTableColumnInfo()
Dim sheetName As String
Dim tableName As String
SetSheetAndTableNames sheetName, tableName
Dim ws As Worksheet
Set ws = GetWorksheetByName(sheetName)
If ws Is Nothing Then
ShowMessage "시트 '" & sheetName & "'이(가) 존재하지 않습니다."
Exit Sub
Else
End If
Dim tbl As ListObject
Set tbl = GetTableByName(ws, tableName)
If tbl Is Nothing Then
ShowMessage "테이블 '" & tableName & "'이(가) '" & sheetName & "' 시트에 존재하지 않습니다."
Exit Sub
Else
End If
PrintColumnInfo tbl
End Sub
Sub SetSheetAndTableNames(ByRef sheetName As String, ByRef tableName As String)
sheetName = "Sheet1"
tableName = "Product"
End Sub
Function GetWorksheetByName(sheetName As String) As Worksheet
On Error Resume Next
Set GetWorksheetByName = ThisWorkbook.Sheets(sheetName)
On Error GoTo 0
End Function
Function GetTableByName(ws As Worksheet, tableName As String) As ListObject
On Error Resume Next
Set GetTableByName = ws.ListObjects(tableName)
On Error GoTo 0
End Function
Sub PrintColumnInfo(tbl As ListObject)
Dim col As ListColumn
For Each col In tbl.ListColumns
Debug.Print "Column Name: " & col.Name
Debug.Print "Column Index: " & col.Index
Debug.Print "Column Range: " & col.DataBodyRange.Address
Debug.Print "-----------------------"
Next col
End Sub
Sub ShowMessage(message As String)
MsgBox message
End Sub
매크로 실행 후
다음 코드는 표에 새 열을 추가합니다.
Sub AddNewColumn()
Dim lo As ListObject
Set lo = ThisWorkbook.Sheets("Sheet1").ListObjects("Table1")
lo.ListColumns.Add
Set lo = Nothing
End Sub
다음 코드는 표의 첫 번째 열을 삭제합니다.
Sub DeleteColumn()
Dim lo As ListObject
Set lo = ThisWorkbook.Sheets("Sheet1").ListObjects("Table1")
lo.ListColumns(1).Delete
Set lo = Nothing
End Sub
다음 코드는 "Sheet1"에 있는 테이블("Table1")의 첫 번째 열의 첫 번째 셀의 값을 메시지 박스로 표시합니다.
Sub ReferColumn()
Dim lo As ListObject
Set lo = ThisWorkbook.Sheets("Sheet1").ListObjects("Table1")
MsgBox lo.ListColumns(1).Range.Cells(1, 1).Value
Set lo = Nothing
End Sub
다음 코드는 Sheet1에 있는 테이블("Table1")의 열 수를 메시지 박스로 표시합니다.
Sub CountColumns()
Dim lo As ListObject
Set lo = ThisWorkbook.Sheets("Sheet1").ListObjects("Table1")
MsgBox lo.ListColumns.Count
Set lo = Nothing
End Sub
도움말 출처
ListObject.ListColumns property (Excel)
Office VBA reference topic
learn.microsoft.com
'ListObject object' 카테고리의 다른 글
ListObject.ShowAutoFilter property (0) | 2024.03.03 |
---|---|
ListObject.ListRows property (0) | 2024.03.03 |
ListObject.HeaderRowRange property (0) | 2024.03.03 |
ListObject.DataBodyRange property (0) | 2024.03.02 |
ListObject.AutoFilter property (0) | 2024.03.02 |