Изменение размера таблицы и смещение соседних таблиц - PullRequest
0 голосов
/ 24 марта 2020

У меня есть код VBA, который заполняет таблицы Excel по рабочим листам в рабочей книге. Большинство рабочих листов имеют одну таблицу. Код работает нормально, и таблицы расширяются и сжимаются на основе извлеченных столбцов и строк данных.

Одна из таблиц имеет две смежные таблицы. Я хочу расширить 1-ю таблицу таким образом, чтобы вторая таблица была вытолкнута (сдвиг вправо) для размещения данных 1-й таблицы. Также, если извлеченные данные имеют меньшие столбцы, тогда вторая таблица должна сместиться влево. Так что обе таблицы всегда соседствуют друг с другом.

Ниже приведен фрагмент кода

'''''''''Build and execute the Query'''''''''''
Set rs = CreateObject("ADODB.Recordset")
sqlQuery = "SELECT * FROM " & bdvName
' MsgBox sqlQuery
rs.Open sqlQuery, conn, adOpenForwardOnly, adLockReadOnly, adCmdText

If Err.Number <> 0 Then
    MsgBox "Error: (" & Err.Number & ") " & Err.Description, vbCritical
    rs.Close
    Exit Sub
End If

''''''''''''Copy data into the excel sheet ''''''''''''''''
With mySheet.ListObjects(1)
    If Not .DataBodyRange Is Nothing Then
        .DataBodyRange.Delete
    End If

    Call .Range(2, 1).CopyFromRecordset(rs)
    Call .Resize(mySheet.UsedRange)
End With

'If rs.EOF = False Then
 '   mySheet.Range("A11").CopyFromRecordset rs

    rs.MoveFirst
    'wsMatch.Range("A8").CopyFromRecordset rs
    With wsMatch.ListObjects(1)
    If Not .DataBodyRange Is Nothing Then
        .DataBodyRange.Delete
    End If

    Call .Range(2, 1).CopyFromRecordset(rs)
    Call .Resize(mySheet.UsedRange)
End With

Присоединение сценария ios.

Scenarios for the table shifting

...