엑셀 시트에서는 추가한 메모의 형태를 바꿀 수 없습니다. 사각형 그대로 유지해야 됩니다. 만약 형태를 바꾸고 싶다면 VBA 에서 작업을 해야 합니다. 옵션의 종류가 너무 많아서 일일이 다 소개를 해 드릴 수는 없고 사용할 만한 형태만 몇 가지 추려 보았습니다. 나머지는 상수값을 변경해 가면서 테스트 해 보시기 바랍니다.
▼ 먼저 원하는 셀에 메모를 추가해야 합니다. AddCommnet 로 메모를 추가하고 화면에 보이도록 Comment.Visible=true 로 설정합니다. 만약 false 로 하게 되면 숨겨지며 클릭해야 볼 수 있습니다. 형태를 결정하는 속성값은 AutoShapeType 입니다. 직사각형이 아닌 둥근 모양의 메모 옵션은 msoShapeRoundedRectangle 입니다. 이 외에도 다양한 옵션들이 있습니다. 상수 목록에 보시면 엄청나게 많이 있으므로 하나씩 테스트해서 확인해 보시기 바랍니다.
▼ 메모의 형태를 결정짓는 많은 상수값 중에서 몇 가지만 셀에 추가해 보았습니다. 둥근형태 외에 풍선, 다이어몬드, 하트 모양 입니다. 이렇게 다양한 모양은 엑셀 시트에서는 하지 못합니다. 메모 서식에 아무리 찾아봐도 없더군요. 그래서 모양을 바꾸려면 VBA 코드로 매크로 함수를 만들어서 한번에 형태를 변경하시면 됩니다.
Sub 둥근메모만들기()
With Range("A1")
.AddComment
.Comment.Visible = True
.Comment.Shape.AutoShapeType = msoShapeRectangle
.Comment.Shape.Select True
End With
With Range("A2")
.AddComment
.Comment.Visible = True
.Comment.Shape.AutoShapeType = msoShapeRoundedRectangle
.Comment.Shape.Select True
End With
With Range("A3")
.AddComment
.Comment.Visible = True
.Comment.Shape.AutoShapeType = msoShapeBalloon
.Comment.Shape.Select True
End With
With Range("A4")
.AddComment
.Comment.Visible = True
.Comment.Shape.AutoShapeType = msoShapeDiamond
.Comment.Shape.Select True
End With
With Range("A5")
.AddComment
.Comment.Visible = True
.Comment.Shape.AutoShapeType = msoShapeHeart
.Comment.Shape.Select True
End With
End Sub
▼ 아래 그림은 소스를 실행한 결과 입니다. 이렇게 하나씩 테스트 해보시고 남들과 색다른 엑셀 시트를 꾸며 보시기 바랍니다. 만약 기존에 추가한 메모가 있다면 엑셀 시트 로딩 함수에서 for 문을 돌며 메모 개체를 가져온 후 AutoShapeType 속성만 변경하시면 되겠죠.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 VBA 반복문 For Next 문 사용하기 ▶ 엑셀 VBA 함수 만들어서 매크로와 연결하기 ▶ 엑셀 VBA 셀 참조하는 여러가지 방법 ▶ 엑셀 VBA 통합 문서 문서가 열리는 순간 기능 구현하기 ▶ 엑셀 VBA 매크로 디버깅, 디버그 코드 분석하기 |
'엑셀(Excel) > VBA' 카테고리의 다른 글
엑셀 VBA Range 객체 중 Areas 속성 사용하기 (1) | 2024.12.16 |
---|---|
엑셀 VBA 개발에 도움이 되는 편집기창 이용 방법들 (0) | 2024.12.11 |
엑셀 VBA 매크로 소스 주석 Comments 넣는 방법 (2) | 2024.11.23 |
엑셀 Excel VBA 개발을 위한 개발 도구 탭 추가하기 (1) | 2024.11.23 |
엑셀 VBA 영어 첫 글자만 대문자로 변경하는 방법 (2) | 2024.11.20 |
엑셀 VBA 영역을 입력받는 RefEdit 컨트롤 사용하는 방법 (0) | 2024.11.11 |
엑셀 VBA 데이터 입력하는 텍스트 박스(Text Box) 사용하는 방법 (4) | 2024.11.02 |
엑셀 VBA 함수 Now 현재 날짜 및 시간 반환하기 (1) | 2024.11.02 |