2016-06-10 5 views
1

Excel에서 행을 추가하는 표가 있습니다. 그런 다음 해당 행을 참조하고 숫자를 사용하여 열에 값을 저장할 수 있습니다.범위의 열을 이름으로 참조하는 방법

Dim table As ListObject 
Dim lastRow As Range 

Set table = sheet.ListObjects.Item("TagTable") 
table.ListRows.Add 
Set lastRow = table.ListRows(table.ListRows.Count).Range 
lastRow(1) = "Value for column 1" 
lastRow(2) = "Value for 2" 

문제점은 매우 유연하지 않다는 점입니다. 차라리 열 이름을 지정해야합니다. 미친 듯이 검색하고 있지만이를 달성하는 방법에 대한 정보는 찾을 수 없습니다. 이게 가능한가, 아니면이 코드로 뭔가 이상한 일을하고 있는가?

답변

2

ListObject에는 ListColumns 속성이 있으며 이름으로 열을 액세스 할 수 있습니다.

Sub Demo() 
    Dim ws As Worksheet 
    Dim table As ListObject 
    Dim lstrow As ListRow 

    Set ws = ActiveSheet ' Set to your required sheet 
    Set table = ws.ListObjects.Item("TagTable") 
    Set lstrow = table.ListRows.Add 
    lstrow.Range.Cells(1, table.ListColumns("NameOfColumn1").Index) = "Value for column 1" 
    lstrow.Range.Cells(1, table.ListColumns("NameOfColumn2").Index) = "Value for 2" 
End Sub 
+0

큰 감사 ... 그냥 명확히하기 위해, 나는 ListRow이 테이블에 추가하는 것이 올바르게 이해 할 특정 ListRow 것을 반환

한 가지 방법은 그것이 사용 하는가? –

+0

@ bo-oz 확실히 ... –

관련 문제