2

だから、私はいくつかのセルをマージしたいと思います、そして私はそれをこのようにしたいと思います:

ここに画像の説明を入力してください

上の写真では、私が望んでいる種類のマージを示しています。したがって、セルB6にテキストを入力すると、セル範囲C6:F9G6:K9マージが必要になります。B10よりC10:F13G10:K13。_ 等々 ...

また、これらの結合されたセルのテキストは折り返す必要があります。

コードを入力すると、この結合されたセルにテキストが自動的に生成されます。そのテキストは大きくなり、折り返す必要があります。

私は数式で多くのことを試し、私を助けることができる何かを探しました。私はコードでこれを行うことができることを知っていますが、私はVBAプログラミング/コード/ ...に興味がありません!

私を助けてくれる人がいれば、どんな助けでもありがたいです。

4

1 に答える 1

2
  • シートタブを右クリックします
  • View Code
  • 以下のコードをコピーして貼り付けます

このコードは、列Bで変更された4番目のセルごとにのみマージを実行します。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
于 2013-02-16T12:41:16.393 に答える