首先很抱歉为此创建了一个新线程,但我无法在现有线程中发表评论。
我正在尝试像在这个线程中一样合并很多单元格,但我对编码有点陌生,尤其是 excel/VBA,所以我不能让它工作。我有同样的场景(除了我没有任何空行)所以我只是尝试在现有线程中使用代码,但并不真正理解语法:
Sub mergecolumn()
Dim cnt As Integer
Dim rng As Range
Dim str As String
For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
cnt = Cells(i, 1).MergeArea.Count
Set rng = Range(Cells(i, 2), Cells(i - cnt + 1, 2))
For Each cl In rng
If Not IsEmpty(cl) Then str = str + vbNewLine + cl
Next
If str <> "" Then str = Right(str, Len(str) - 2)
Application.DisplayAlerts = False
rng.Merge
rng = str
Application.DisplayAlerts = True
str = ""
i = i - cnt + 1
Next i
End Sub
我尝试以不同的方式运行宏,标记多列,标记多行并仅标记某些区域,但我总是得到:
运行时错误“13”:
类型不匹配
当我进入调试屏幕时,它被标记为:
str = str + vbNewLine + cl
我通过 Developer-ribbon->Visual Basic->Insert->Module 添加了宏,然后将代码粘贴到那里并保存。
在此先感谢您的帮助
//Joakim