2013-02-16 2 views
1

그래서 특정 셀 값에 따라 일부 셀 병합 나는 이런 식으로 작업을 수행하고 싶습니다 : 나는 가지를 제시 한 위의 그림에서좀 셀을 병합하고 싶습니다

enter image description here

내가 갖고 싶어하는 병합. 그래서 셀 B6에 일부 텍스트를 입력하면 셀 범위 C6:F9G6:K9을 병합하고 싶습니다. B10C10:F13G10:K13보다 큰 경우 등등 ...

또한 병합 된 셀의 텍스트는 줄 바꿈되어야합니다.

코드를 입력하면이 병합 된 셀에 텍스트가 자동으로 생성됩니다. 그 텍스트는 커질 것이고 감싸 져야합니다.

수식으로 많은 것을 시도해 보았습니다. 저를 도울 수있는 뭔가를 찾았습니다. 나는 이것을 할 수있는 코드로 알고 있지만 VBA 프로그래밍/코드 /가 아닙니다! ...!

나를 도울 수있는 사람이 있으면 도움을 주시면 감사하겠습니다.

+3

귀하의 노력 중 적어도 관련있는 부분을 공유하지 마십시오. [당신은 무엇을 시도 했습니까?] (http://whathaveyoutried.com/) 당신이 설명하는 모든 수동 단계를위한 매크로 레코더는 관련 코드를 생성합니다. 또한 셀의 변경 사항을 추적하고 다른 셀을 자동으로 업데이트하려면 워크 시트 변경 이벤트가 필요합니다. –

답변

1
  • 이 코드에서 시작, 모든 4 셀은 열 B에서 변경에만 병합을 실행하여 시트 탭
  • View Code
  • 사본을 마우스 오른쪽 버튼으로 클릭하고

아래의 코드를 붙여 넣습니다 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 
+1

고맙습니다. 이것은 내가 필요한 것일뿐입니다! – Sylca

+0

또한이 새로운 질문을했습니다 : http://stackoverflow.com/questions/14916003/excel-formula-in-vba-code 만약 당신이 그것을 볼 수 있습니다. 이 질문에 대한 그런 종류의 관계. 다시 한번, 모든 것을 당신보다! – Sylca

관련 문제