2014-05-11 3 views
0

레코드로 레코드를 채우는 데 필요한 Excel 테이블이 있습니다. 내가 코드 지금필드로 VBA 필드로 채우기 Excel 테이블

Private Sub AddRecBro_Click() 
    Dim Tbl As ListObject 
    Dim NewRow As ListRow 

    Set Tbl = Worksheets("Broker").ListObjects("Broker") 
    Set NewRow = Tbl.ListRows.Add(AlwaysInsert:=True) 

    .... 

End Sub 

내가 필드에 의해이 같은 비트를이 테이블 필드를 채울 싶습니다을 시작

...

Field("ID")=Max(Broker[ID])+1 
Field("F1")=Sheets("Dashboard").Range("U5").Value 
Field("F2")=Sheets("Dashboard").Range("U6").Value 
Field("F3")=Sheets("Dashboard").Range("U7").Value 
etccc 

내 목록을 채우는 방법을 모른다 이 방법으로 개체를 ... 실제로 열에있는 데이터가 있고 같은 장소가 아닙니다 ... 그래서 해당 위치에서 그들을 선택하여 새 레코드를 채우고 싶습니다 ... 감사합니다.

답변

2

A ListObject 테이블은 HeaderRowRange (테이블에 헤더가있는 경우)과 DataBodyRange으로 구성됩니다. 나는`Tbl.DataBodyRange.cells를 사용하여 오류 (R, 1) .Value = 최대 (TBL이 .. 답변에 대한

Dim r as Long, c as Long 

For r = 1 to Tbl.DataBodyRange.Rows.Count 
    For c = 1 to Tbl.DataBodyRange.COlumns.Count 
     Tbl.DataBodyRange.Cells(r, c).Value = "__Insert some value__" 
    Next 
Next 
+0

thks : 모두는 세포 정상 반복 방법을 사용하여 반복 할 수 Range 객체이다. DataBodyRange.Column ("A")) + 1' ... 이유를 아십니까? – sharkantipav

+0

무엇이 오류입니까? 아마도'= Application.Max (Tbl.DataBodyRange.Columns (1)) + 1'을 시도해보십시오. –

+0

완벽하게 작동합니다. 감사합니다. – sharkantipav