Excel VBA получает содержимое объединенных ячеек - PullRequest
0 голосов
/ 04 ноября 2018

У меня есть этот лист.

enter image description here

В VBA я получаю содержимое строки 8 столбца AV, AU, AW, вот так.

.Cells(row_level - 1, col_comment)

Строка 7 является объединенной ячейкой. Я хотел бы получить содержимое AV, если столбец AV, AU или AW. Сложность в том, что не всегда есть три объединенных столбца. Может быть где угодно от 2 до 7.

1 Ответ

0 голосов
/ 04 ноября 2018

попробовать

Sub test()
    Dim rngDB As Range, rng As Range
    Dim vR()
    Dim i As Long, n As Long, j As Integer

    Set rngDB = Range("au8", Range("au" & Rows.Count).End(xlUp))

    For Each rng In rngDB
        If rng.MergeCells Then
            If rng.Address = rng.MergeArea.Range("a1").Address Then
                n = n + 1
                ReDim Preserve vR(1 To 3, 1 To n)
                For j = 1 To 3
                    vR(j, n) = rng(1, j)
                Next j
            End If
        Else
            n = n + 1
            ReDim Preserve vR(1 To 3, 1 To n)
            For j = 1 To 3
                vR(j, n) = rng(1, j)
            Next j
        End If
    Next rng
    Sheets.Add
    Range("a1").Resize(n, 3) = WorksheetFunction.Transpose(vR)
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...