Sök…


Introduktion

Det här ämnet handlar om att arbeta med tabeller i VBA och antar kunskap om Excel-tabeller. I VBA, eller snarare Excel-objektmodellen, är tabeller kända som ListObjects. De mest använda egenskaperna för en ListObject är ListRow (s), ListColumn (s), DataBodyRange, Range och HeaderRowRange.

Instantiating a ListObject

Dim lo as ListObject
Dim MyRange as Range

Set lo = Sheet1.ListObjects(1)

'or

Set lo = Sheet1.ListObjects("Table1")

'or

Set lo = MyRange.ListObject

Arbeta med ListRows / ListColumns

Dim lo as ListObject
Dim lr as ListRow
Dim lc as ListColumn

Set lr = lo.ListRows.Add
Set lr = lo.ListRows(5)

For Each lr in lo.ListRows
    lr.Range.ClearContents
    lr.Range(1, lo.ListColumns("Some Column").Index).Value = 8
Next

Set lc = lo.ListColumns.Add
Set lc = lo.ListColumns(4)
Set lc = lo.ListColumns("Header 3")

For Each lc in lo.ListColumns
    lc.DataBodyRange.ClearContents   'DataBodyRange excludes the header row
    lc.Range(1,1).Value = "New Header Name"    'Range includes the header row
Next

Konvertera en Excel-tabell till ett normalt intervall

Dim lo as ListObject

Set lo = Sheet1.ListObjects("Table1")
lo.Unlist


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow