Как найти конкретную строку и объединить / центрировать ячейки в excel из powershell - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть документ Excel, созданный из другого инструмента развертывания, который считывает значения массива и создает документ Excel.Я пытаюсь добавить возможность циклически проходить по столбцу b, находить нулевое значение и объединять ячейки через c.

Логика, которую я хотел бы использовать, заключается в цикле по столбцу B и поиску пустых ячеек, получению номера строки ячейки и использованию этого для определения, где находится значение, которое я хочу объединить и центрировать (т.е. server1 на рисункениже).Затем я должен объединить и отцентрировать эту строку и продолжить через цикл, пока не достигну конца используемого диапазона.

Я пытался использовать свойство Range.FindNext (string value), но безуспешно, чтобы заставить его работать,

Пример текущего макета выглядит следующим образом:

```

Для чего я снимаю:

enter image description here

1 Ответ

1 голос
/ 20 сентября 2019

Вы можете циклически проходить по каждой строке в используемом диапазоне листа, искать строки с пустыми значениями ("") в столбце B, а затем объединять столбцы от A до C этой строки.Если вы хотите запустить его из PowerShell, вы можете создать новый модуль в Excel, затем открыть файл Excel из PowerShell, запустить свой модуль из PowerShell и сохранить.Надеюсь, это поможет.

Public Sub Test()
    Dim i As Long
    Dim lastRow As Long
    lastRow = Cells(Rows.Count, "A").End(xlUp).Row 'Only loop through used rows

    'skip row 1 since it has the headers
    For i = 2 To lastRow 
        If Range("B" & i) = "" Then
            Range("A" & i & ":C" & i).Merge
            Range("A" & i & ":C" & i).HorizontalAlignment = xlCenter
        End If
    Next
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...