Option Explicit
Private Type ScaleFactor
    X As Double 'Объявляем переменные
    Y As Double
    Z As Double
End Type
Private Function MakeTableStyleForSpec() As String
    Dim acadDoc As Object
    Dim AcadTableStyle As Object
    Dim AcadTextStyle As Object
    Dim AcadDictionary As Object
    Dim strTableStyleName As String
    Dim strTextStyleName As String
Set AcadDictionary = acadDoc.Dictionaries.Item("ACAD_TABLESTYLE")
strTableStyleName = "Оформление"
On Error Resume Next
Set AcadTableStyle = acadDoc.AcadDictionary.AddObject(strTableStyleName, "AcDbTableStyle")
strTextStyleName = "Оформление_текст"
Set AcadTextStyle = acadDoc.TextStyles.Add(strTextStyleName)
On Error GoTo 0
AcadTextStyle.SetFont "Arial", False, False, 0, 34 'значения получил по GetFont для нужного стиля
AcadTableStyle.SetTextStyle AcRowType.acDataRow + AcRowType.acHeaderRow + AcRowType.acTitleRow + AcRowType.acUnknownRow, strTextStyleName
AcadTableStyle.SetTextHeight AcRowType.acDataRow + AcRowType.acUnknownRow, 2.5
AcadTableStyle.SetTextHeight AcRowType.acHeaderRow + AcRowType.acTitleRow, 3
AcadTableStyle.SetAlignment AcRowType.acHeaderRow + AcRowType.acTitleRow, acMiddleCenter
AcadTableStyle.SetAlignment AcRowType.acDataRow + AcRowType.acUnknownRow, acMiddleLeft
AcadTableStyle.HorzCellMargin = 1.5
AcadTableStyle.VertCellMargin = 1
AcadTableStyle.SetGridLineWeight AcGridLineType.acHorzBottom + AcGridLineType.acHorzInside + AcGridLineType.acHorzTop _
                + AcGridLineType.acVertInside + AcGridLineType.acVertLeft + AcGridLineType.acVertRight, _
                AcRowType.acTitleRow + AcRowType.acHeaderRow, AcLineWeight.acLnWt050
AcadTableStyle.SetGridLineWeight AcGridLineType.acHorzBottom + AcGridLineType.acHorzTop + _
               AcGridLineType.acVertInside + AcGridLineType.acVertLeft + AcGridLineType.acVertRight, _
               AcRowType.acDataRow + AcRowType.acUnknownRow, AcLineWeight.acLnWt050
AcadTableStyle.SetGridLineWeight AcGridLineType.acHorzInside, _
               AcRowType.acDataRow + AcRowType.acUnknownRow, AcLineWeight.acLnWt025
Dim color As New AcadAcCmColor
color.SetRGB 255, 0, 0
AcadTableStyle.SetColor AcRowType.acDataRow + AcRowType.acHeaderRow _
                        + AcRowType.acTitleRow + AcRowType.acUnknownRow, color
MakeTableStyleForSpec = strTableStyleName
End Function
Sub Tabl()
    Dim acadApp As Object 'Объявляем переменные
    Dim acadDoc As Object
    Dim acadTable As Object
    Dim LastRow As Long
    Dim i As Long
    Dim InsertionPoint(0 To 2) As Double
    Dim value As String
        Dim AcadTableStyle As Object
        Dim AcadTextStyle As Object
        Dim AcadDictionary As Object
        Dim strTableStyleName As String
        Dim strTextStyleName As String
    With Sheets("Coordinates") 'Делаем активным лист координаты
        .Activate
        LastRow = .Cells(.Rows.Count, "AS").End(xlUp).Row 'Ищем последнюю заполненную строку столбца AS
    End With
    If LastRow < 4 Then 'Если номер последней строки меньше чем 4
        MsgBox "Нет значений для вставки", vbCritical, "Ошибка отсутствие значений"
        Exit Sub
    End If
    On Error Resume Next
    Set acadApp = GetObject(, "AutoCAD.Application") 'Проверяем открыт ли автокад
    If acadApp Is Nothing Then 'Если автокад не открыт
        Set acadApp = CreateObject("AutoCAD.Application") 'Создаем новую сессию автокад
        acadApp.Visible = True 'Делаем автокад видимым
    End If
    If acadApp Is Nothing Then 'Если опять автокад не открыт
        MsgBox "Извините, но мы не можем запустить автокад", vbCritical, "Ошибка запуска автокад"
        Exit Sub
    End If
    On Error GoTo 0 'Если ошибка то идем хз куда
    On Error Resume Next 'Если ошибка то идем дальше
    Set acadDoc = acadApp.ActiveDocument 'Присваиваем переменную активному чертежу автокада
    If acadDoc Is Nothing Then 'Если ни один чертеж автокада не активен
        Set acadDoc = acadApp.Documents.Add 'Создаем новый чертеж
    End If
    On Error GoTo 0 'Если ошибка то идем хз куда
    If acadDoc.ActiveSpace = 0 Then '0 = acPaperSpace in early binding. Если чертеж открыт не в модели, а в листах
        acadDoc.ActiveSpace = 1     '1 = acModelSpace in early binding. Делаем активной модель
    End If
    With Sheets("Coordinates")  'С листом Coordinates Excel
                InsertionPoint(0) = .Range("AS" & 1).value 'Задаем координату X вставки блока
                InsertionPoint(1) = .Range("AT" & 1).value 'Задаем координату Y вставки блока
                InsertionPoint(2) = .Range("AU" & 1).value 'Задаем координату Z вставки блока
                Set acadTable = acadDoc.ModelSpace.AddTable(InsertionPoint, 2, 5, 10, 20) 'Вставляем таблицу в чертеж
                acadTable.RegenerateTableSuppressed = True
                acadTable.DeleteRows 0, 1 'удаляем 1 строчку заголовка таблицы
                acadTable.SetTextHeight 3, 3
                acadTable.SetTextHeight 4, 3
                acadTable.SetText 0, 0, .Range("AS" & 2).value
                acadTable.SetColumnWidth 0, 15
                acadTable.SetText 0, 1, .Range("AT" & 2).value
                acadTable.SetColumnWidth 1, 70
                acadTable.SetText 0, 2, .Range("AU" & 2).value
                acadTable.SetColumnWidth 2, 50
                acadTable.SetText 0, 3, .Range("AV" & 2).value
                acadTable.SetColumnWidth 3, 40
                acadTable.SetText 0, 4, .Range("AW" & 2).value
                acadTable.SetColumnWidth 4, 30
                'acadTable.RegenerateTableSuppressed = True
                    For i = 1 To LastRow - 3
                        acadTable.InsertRows i, 10, 1
                        acadTable.SetTextHeight 3, 3
                        acadTable.SetTextHeight 4, 3
                        'acadTable.RegenerateTableSuppressed = True
                        acadTable.SetText i, 0, .Range("AS" & i + 3).value
                        acadTable.SetText i, 1, .Range("AT" & i + 3).value
                        acadTable.SetText i, 2, .Range("AU" & i + 3).value
                        acadTable.SetText i, 3, .Range("AV" & i + 3).value
                        acadTable.SetText i, 4, .Range("AW" & i + 3).value
                    Next
                acadTable.RegenerateTableSuppressed = False
                acadTable.StyleName = MakeTableStyleForSpec
                'acadTable.RegenerateTableSuppressed = True
    End With ' Завершение взятия данных с листа эксель
    acadApp.ZoomExtents ' Двойное нажатие на колесико мыши
    Set acadDoc = Nothing ' ХЗ зачем обнуляем наверное перменные
    Set acadApp = Nothing ' ХЗ зачем обнуляем наверное перменные
End Sub