我一直致力于一个项目,我正在努力让事情变得更顺畅:)
我有一个包含多个列的Excel工作表,如下所示,C列是主题的重要性(基于该行中输入的信息),D列是输入的信息是新信息还是关于前一(上)行的更新。洙:
如果我在D列第3行输入“update”;我希望它自动合并单元格C2和C3。
C D
1 LOW new
2 HIGH new
3 update
4 Low new
5 update
6 update
我不知道如何编写VBA代码,但我大部分都能理解这些代码,足以采用我在互联网上找到的我想要实现的代码。我已经检查了很多网站以找到我需要的东西,但我没有运气,所以如果你能帮助我,我真的很感激:)
答案 0 :(得分:0)
您可以尝试这样的方法在当前工作表中添加此宏。
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
答案 1 :(得分:0)
试试这个:
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
您知道如何在活动中添加宏吗?
转到Visual Studio,选择左侧的ThisWorkBook
并创建一个宏:
Private Sub Worksheet_Change()
并粘贴上面的代码