【问题标题】:Merge some cells depending on certain cell value根据某些单元格值合并一些单元格
【发布时间】:2013-02-01 08:13:33
【问题描述】:

所以,我想合并一些单元格,我想这样做:

在上图中,我展示了我想要的那种合并。所以,如果我在单元格B6 中输入一些文本,我想将单元格范围C6:F9G6:K9 合并。如果B10C10:F13G10:K13。等等……

此外,这些合并单元格中的文本应该被换行。

当我输入代码时,我会在这个合并的单元格中自动生成文本。该文本会很大,需要换行。

我用公式尝试了很多东西,寻找可以帮助我的东西。我知道使用 代码我可以做到这一点,但我不喜欢 VBA 编程/代码/...!

如果有人可以帮助我,任何帮助将不胜感激。

【问题讨论】:

  • 您不介意与我们分享您的相关工作 - 只是为了支持What have you tried? Macro-recorder,您描述的所有手动步骤都会生成相关代码。此外,您还需要 Worksheet Change 事件来跟踪单元格中的更改并自动更新其他单元格。

标签: vba excel vba


【解决方案1】:
  • 右键单击您的工作表标签
  • View Code
  • 复制粘贴下面的代码

此代码将仅对 B 列中每第四个更改的单元格运行合并,从 B2 开始

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng1 As Range
Dim rng2 As Range
Set rng1 = Intersect(Target, Range("B:B"))
If rng1 Is Nothing Then Exit Sub
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
For Each rng2 In rng1
'If rng2.Row > 1 Then
If (rng2.Row - 2) Mod 4 = 0 Then
With rng2.Offset(0, 1).Resize(4, 4).Cells
.MergeCells = True
.WrapText = True
End With
End If
'End If
Next
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-20
  • 1970-01-01
  • 1970-01-01
  • 2018-03-30
相关资源
最近更新 更多