我是VBA的新手,在编写一个脚本时遇到了麻烦,该脚本首先合并一组行(保留每行的所有内容),然后移动到定义的单元格范围中的下一列。这段excel vba代码实际上捕获了我要做的事情(https://excelchamps.com/vba/merge/),但我试图将它扩展到一个包含多个列的范围(特别是介于rng范围(“a25:ac29”)之间的范围)。
我的当前代码被复制到下面,但在val部分中总是出现Type错误。
提前感谢!
#试用版VBA代码##
**Sub vba_merge_with_values()
Dim val As String
Dim rng As Range
Dim Cell As Range
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Project Details")
Set rng = ws.Range("A25:A29")
For Each Column In rng.Columns
For Each Cell In rng.Rows
val = val & " " & Cell(Row, Column).Value
Next Cell
With rng.Rows
.Merge
.Value = Trim(val)
.WrapText = True
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Next Column
End Sub**
发布于 2021-06-10 20:29:32
这应该是可行的:
Sub vba_merge_with_values()
Dim Column As Range, rng As Range
Set rng = ThisWorkbook.Worksheets("Project Details").Range("A1:G9")
For Each Column In rng.Columns
With Column
.Cells(1).Value = Join(Application.Transpose(Column.Value), " ")
Application.DisplayAlerts = False
.Merge
Application.DisplayAlerts = True
.WrapText = True
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Next Column
End Sub
https://stackoverflow.com/questions/67927946
复制