Excel VBA сравнить и выровнять пробелы с незаполненными и сдвинуть вниз - PullRequest
0 голосов
/ 12 марта 2020

У меня есть таблица, подобная приведенной ниже:

ORIGINAL TABLE

Я хотел бы переместить столбец B & C вниз к следующим непустым ячейкам, как показано ниже

EXPECTED TABLE

Вы можете мне помочь, пожалуйста? может быть больше, чем столбец B и C

спасибо

1 Ответ

0 голосов
/ 12 марта 2020

Попробуйте

Sub test()
    Dim Ws As Worksheet
    Dim rngDB As Range, rng As Range
    Dim vDB As Variant, vR() As Variant
    Dim i As Long, r As Long
    Dim n As Long, c As Integer, j As Integer

    Set Ws = ActiveSheet
    Set rngDB = Ws.UsedRange
    vDB = rngDB
    r = UBound(vDB, 1)
    c = UBound(vDB, 2)
    ReDim vR(1 To r, 1 To c)
    For i = 1 To r
        vR(i, 1) = vDB(i, 1)
        If vDB(i, 1) = "" Then
            n = n + 1
        Else
            For j = 2 To c
                vR(i, j) = vDB(i - n, j)
            Next j
        End If

    Next i
    'rngDB = vR  '<~~~  Use this to write on the same sheet.
    Sheets.Add
    Range("a1").Resize(r, c) = vR
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...