1. FAQ
  2. 엑셀(Excel)
  3. AfterEffects
  4. Premiere
  5. Photoshop
  6. ETC

이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.

셀 병합 관련

VBA 조회 수 3889 추천 수 0 2012.10.11 00:14:58

먼저 질문이 많아서 죄송합니다.

운전면허를 따면 운전하고 싶어서 안절부절 하잔아요. 어떻게 하면 잘할까 하기도 하구요.

vba를 시작한지 얼마 안되서요. 궁금한 것이 참으로 많네요.

잘 하구 싶은데 잘 안되서 답답하기도 하구요....

 

첨부된 예제의

1) "실행전" 워크시트에서 A5:A58 ctrl B5:B58 ctrl D5:D58 을 범위 설정하고 "실행"버튼을 누르면

"실행후" 워크시트 처럼 셀이 병합되고,

2) "실행전" 워크시트에서 A5:B58 ctrl D5:D58 을 범위 설정하고 "실행2"버튼을 누르면

"실행후" 워크시트 처럼 셀이 병합되는데요.------> 1)에 비해서 ctrl을 누르는 횟수가 줄어들죠.

만약 "실행전" 워크시트에서 범위선택하지 않고 "실행"버튼을 눌러서 "실행후" 워크시트 처럼 셀이 병합되게끔 하려고 합니다,

즉, "*공*종*", "규*격", "단*위" 라는 단어를 찾아서 실행이 되게끔 하는거죠.

여기서, "실행전" 워크시트의 3:4행이 1:2행에 위치할 수도 있고, 5:6행 또는 6:7행에 위치 하는 등 특정할 수가 없습니다.

Find메서드를 이용하면 될껏 같은데....

 

Sub 위셀아래셀병합()

Dim rngRef As Range

Set rngRef = ActiveSheet.UsedRange.Find(what:="*공*종*", "규*격", "단*위")


If rngRef Is Nothing Then
strF = "'*공*종*', '규*격', '단*위'가 입력된 열을 찾지 못했습니다." & vbCr & _
"작업을 종료합니다."
MsgBox strF, vbExclamation, "검색오류"
Exit Sub

여기서부터 막히네요...


댓글 '2'

profile

[레벨:30]아별

2012.10.11 15:00:53
*.104.126.21

고수가되고파님..

질문이 좀 많네요.. 하하.. ^-^;;;


아래 코드를 활용해보세요..

첫번째 출현하는 2개 셀을 병합한 다음에.. 병합된 셀을 복사하고.. 

나머지 셀에 서식으로 붙여넣기를 하여 셀 병합 효과를 나타나게 한 로직입니다.

셀들을 순환하면서 하나씩 병합하는 것보다 속도가 빠를겁니다.


 

Sub abFindAndMergeCells()

    Dim rng As Range

    Set rng = Cells.Find(What:="공 종 명", After:=Cells(1, 1), LookIn:=xlFormulas, LookAt _

        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _

        False, SearchFormat:=False)

    Set rng = Range(rng.Offset(1), rng.Offset(1).End(xlDown))

    

    Dim rngWork As Range

    Set rngWork = rng.Resize(2, 1)

    rngWork.Cells(2).ClearContents

    rngWork.MergeCells = True

    rngWork.Copy

    

    rng.Resize(rng.Rows.Count - 2).Offset(2).PasteSpecial Paste:=xlPasteFormats

    Union(rng.Offset(0, 1), rng.Offset(0, 3)).PasteSpecial Paste:=xlPasteFormats

    

    Application.CutCopyMode = False

    

End Sub



[레벨:4]고수가되고파

2012.10.11 16:30:45
*.104.208.234

감사합니다. 근데 코드를 복사해서 넣으니 첫번째 Set rng~에 구문오류라고 나오네요...

이하 코드는 해석할 수 있겠는데...

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
공지 공지 [공지] 아별닷컴의 엑셀 질문방 폐쇄합니다. 카페 질문방 이용하세요.. imagefile [레벨:30]아별 2015-04-23 139775
73 VBA 엑셀 vba 함수 질문드릴게요. [4] [레벨:4]신강현 2013-03-04 6976
72 VBA .Find find 문을 공부하던도중 문제하가잇어서 질문올립니다. file [2] [레벨:4]신강현 2013-03-22 6961
71 VBA 아별님! 엑셀 질문입니다. _ 고급필터를 활용한 데이터 분리 작업(각 시트로 분리) file [3] [레벨:2]북곰 2013-04-06 6857
70 VBA 파일&폴더 엑셀파일명으로 검색하여 링크걸기 file [1] [레벨:2]광택입니다 2012-09-29 6855
69 VBA 외부 어플리케이션 실행 & 유저폼 일괄 닫기 & 리본 메뉴 사용자 추가 탭 숨기거나 보이게 하는 방법 [7] [레벨:3]엑셀대단해 2012-02-08 6802
68 VBA 수식이 입력된 셀은 자동으로 색상이 들어가게 하는 방법 [5] [레벨:4]부루끄 2011-07-15 6785
67 VBA VBA 서적 추천좀 해주세요 [1] [레벨:1]김학래 2013-04-01 6781
66 VBA 2개의 시트를 비교하여 다른 부분을 찾아내는 프로시저 질문입니다! file [3] [레벨:6]파이스 2011-11-24 6753
65 VBA 사진 삽입 file [3] [레벨:1]비베초보 2013-12-16 6722
64 VBA 파일&폴더 VBA 수정하여 사용하다가 막혀서 문의드립니다. file [2] [레벨:1]예진 2012-11-23 6702
63 VBA [긴급] Range 범위 "A2:A10" -> 를 변수로 받게 하는 방법.. file [3] [레벨:1]마리너 2012-07-05 6698
62 VBA .Find 랜덤 컨틀로바질문입니다.. [3] [레벨:4]신강현 2013-01-21 6626
61 VBA 현재 선택 된 셀을 기준으로 같은방식의 연산결과 값을 산출하는 법 file [1] [레벨:4]부루끄 2011-07-26 6591
60 VBA api에 대해서 [2] [레벨:4]열심회원 2013-08-22 6347
59 VBA 논리식 일거라 예상은 하는데.... 도저히 모르겠어서 여쭤봅니다^^ file [레벨:1]mr_han123 2014-10-28 6347
58 VBA 필터된 데이터 가져오기 시 문제점 [5] [레벨:3]엑셀대단해 2012-07-23 6335
57 VBA 진행바 응용(다른 메뉴 실행중) _ 작업 진행바 Progress bar file [3] [레벨:5]맑은이슬 2013-02-02 6311
56 VBA 엑셀 다른파일 비교하기 2 [2] [레벨:6]파이스 2012-08-23 6167
55 VBA 파일&폴더 자꾸 글올려서 죄송합니다. open문 질문입니다.ㅠㅠ [1] [레벨:4]신강현 2013-01-29 6116
54 VBA 도와주세요,,, 아별님... file [레벨:1]피오량 2013-12-23 6114