web-dev-qa-db-fra.com

Créer un tableau dans une feuille de calcul Excel à l'aide de VBA

J'ai ce code ci-dessous qui sélectionnera automatiquement une plage. Quelqu'un sait-il comment ajouter du code pour créer une table dans la plage sélectionnée?

Merci!

Sub DynamicRange()
'Best used when first column has value on last row and first row has a value in the last column

Dim sht As Worksheet
Dim LastRow As Long
Dim LastColumn As Long
Dim StartCell As Range

Set sht = Worksheets("Sheet1")
Set StartCell = Range("D9")

'Find Last Row and Column
  LastRow = sht.Cells(sht.Rows.Count, StartCell.Column).End(xlUp).Row
  LastColumn = sht.Cells(StartCell.Row, sht.Columns.Count).End(xlToLeft).Column

'Select Range
  sht.Range(StartCell, sht.Cells(LastRow, LastColumn)).Select

End Sub
6
Jgonzales

Utilisez l'extrait de code VBA Excel suivant pour ajouter l'objet Table correspondant au Range sélectionné:

Dim objTable As ListObject
Set objTable = ActiveSheet.ListObjects.Add(xlSrcRange, Selection, , xlYes)

Vous pouvez également appliquer un style facultatif à l'objet Table ajouté, comme illustré ci-dessous:

objTable.TableStyle = "TableStyleMedium2"

Plus de détails disponibles sur MSDN: https://msdn.Microsoft.com/en-us/library/office/ff823155.aspx

J'espère que cela vous aidera.

11
Alexander Bell