基于另一个单元格的值与VBA合并单元格
我一直在做一个项目,我正在努力让事情变得更顺利:) 我有一个excel表格,有几列,正如您在下面看到的,C列是主题的重要性(基于该行中键入的信息),D列是键入的信息是新信息还是关于上一行(上一行)的更新。苏: 如果我在D列第3行键入“更新”;我希望它能自动合并C2和C3单元基于另一个单元格的值与VBA合并单元格,vba,excel,merge,Vba,Excel,Merge,我一直在做一个项目,我正在努力让事情变得更顺利:) 我有一个excel表格,有几列,正如您在下面看到的,C列是主题的重要性(基于该行中键入的信息),D列是键入的信息是新信息还是关于上一行(上一行)的更新。苏: 如果我在D列第3行键入“更新”;我希望它能自动合并C2和C3单元 C D 1 LOW new 2 HIGH new 3 update 4 Low new 5 update 6 upd
C D
1 LOW new
2 HIGH new
3 update
4 Low new
5 update
6 update
我不知道如何编写VBA代码,但我基本上能理解这些代码,足以将我在互联网上找到的东西应用到我想要实现的目标上。我查看了很多网站,找到了我需要的东西,但我运气不好,因此如果您能帮助我,我将不胜感激:)您可以尝试这样的方法在当前工作表中添加此宏
Private Sub Worksheet_Change(ByVal Target As Range)
IF Target.value = "Update" then
Range("A" & Target.row - 1 & ":A" & Target.row).Merge
End If
End Sub
试试这个:
Sub Merge_Priority()
Dim RgToMerge As String
For i = 1 To ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
RgToMerge = ""
If LCase(Cells(i, 4)) <> "update" Or (LCase(Cells(i + 1, 4)) <> "new" And Cells(i + 1, 4) <> "") Then
Else
RgToMerge = "$C$" & Cells(i, 3).End(xlUp).Row & ":$C$" & i
With Range(RgToMerge)
.Merge
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
End If
Next i
End Sub
然后将代码粘贴到上方,这样您只会合并两个单元格,但工作表中的每一个更改都会启动该代码。非常感谢您的回复!我为这个负担感到抱歉,但我想我可以编辑你发布的代码,并将其调整到我的文件中,但实际上我做不到。列包含高值和低值在C上,新列和更新列是D。您能帮助我根据此信息更改代码吗?更改完成!;)如果一切正常,请验证答案以关闭主题!一切正常,但我不知道如何使用这段代码,当它将从顶部(C1)合并到最后一行的单元格与“update”值合并,并将所有列合并到一个单元格中。是否需要对其进行编码,以便单元格合并到上一个(向上)“新”值?我的错,我忘了更改RgToMerge定义中的列号,请现在尝试一下
Private Sub Worksheet_Change()