excel - 如何从powershell在excel中查找特定行并合并/居中单元格
问题描述
我有一个从另一个部署工具创建的 excel 文档,该工具读取数组值并创建 excel 文档。我正在尝试添加遍历 b 列并找到空值并合并单元格 a 到 c 的功能。
我想使用的逻辑是遍历B列并查找空单元格,获取单元格行号并使用它来确定我要合并和居中的值在哪里(即下图中的server1)。然后,我将合并该行并将其居中并继续循环,直到到达使用范围的末尾。
我曾尝试使用 Range.FindNext(string value) 属性,但未能使其正常工作。
当前布局示例如下:
我要拍摄的内容:
解决方案
您可以遍历工作表使用范围内的每一行,在 B 列中查找具有空值 ("") 的行,然后将该行的 A 列合并到 C 列。如果你想从 PowerShell 运行它,你可以在 Excel 中创建一个新模块,然后从 PowerShell 打开 excel 文件,从 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