반응형

Range 22

조건부 서식을 인쇄할 때 제거하는 방법

1. 문제 아래와 같이 셀을 클릭했을 때 수평과 수직으로 표시가 되는데, 인쇄할 때 제외하는 방법을 알아보고자 합니다. 먼저 범위 외 셀을 클릭하면 조건부 서식이 적용되지 않으므로 범위 외 셀을 클릭하고 인쇄하는 방법이 있습니다. 그것이 아니라 자동으로 조건부 서식이 제거되고 인쇄되는 것을 구현하려고 합니다. 두 가지가 있는데 하나씩 다뤄보겠습니다. 2. 해법 1 가. 실행 방법 '조건부 서식을 지우기' 매크로와 '조건부 서식 원래대로' 매크로를 만든 다음 인쇄 버튼 클릭 시 '조건부 서식을 지우기'에 인쇄 부분이 있으므로 두 개를 연달아서 실행하면 됩니다. 나. 코드 코드는 아래와 같습니다. Option Explicit Dim sht As Worksheet Sub 조건부서식지우기() Dim PrintA..

EXCEL - VBA 2024.04.27

VBA로 ColorIndex에 대한 색 표시하기

VBA는 Visual Basic for Application의 약자로, 엑셀, 워드, 파워포인트 등 응용프로그램을 위한 비주얼 베이직이란 의미로, 비주얼 베이직을 이용해서 응용프로그램을 쉽고, 빠르게 사용하는 것입니다. 개발 도구 탭에서 Visual Basic을 누르고, 비주얼 베이직 에디터에서 삽입 - 모듈을 눌러 Module1을 삽입을 누르면 아래와 같이 왼쪽 통합 문서에 Module1이 추가되고, 오른쪽에는 빈 코드 창이 열립니다. 이때 코드 창에 아래 코드를 복사해서 붙여 넣고, Sub 색표시() Dim i As Integer For i = 1 To 128 Range("a" & i) = i Range("b" & i).Interior.ColorIndex = i Next End Sub F5키 또는 세..

EXCEL - VBA 2024.04.12

한글이 아닌 엑셀로 하는 메일 머지(3)

문제는 여기를 참고 바랍니다. 3. 해법 2 : 이름뿐만 아니라 나머지 내용까지 매크로로 처리하는 방법 가. 논리이번에는 셀 값을 Vlookup함수가 아니라 다른 시트의 셀 주소로 연결하는 방법과 같은 연번에서 이름이 반복될 경우 고지서에 한꺼번에 인쇄하는 매크로를 만들어 보겠습니다. (1) 셀 값을 다른 시트의 셀 주소로 연결하기 예를 들어 고지서 시트의 회사명(성명)인 D6셀에는 명단 시트의 E열의 값이 입력되어야 합니다. 이 때는 연결키가 없어도 됩니다.그리고, 토지 소재지인 시군, 읍면, 리동은 명단 시트의 G, H, i 열과 연결되면 됩니다. (2) 같은 연번에서 이름이 반복될 경우 인쇄하기 "같은 연번"이란 병합된 셀로서 처리 줄과 윗 줄의 A1셀이 동일한 경우이고, "이름이 반복된다"는 것은..

EXCEL - VBA 2024.03.29

좌표를 이용해 엑셀에 도면 표시하기(3)

(라) For ~ Next 반복문 실행 For i = 2 To 21 BottomRow = 작은값행(Sheets(3).Cells(i, 2).Value, eastRange) topRow = 작은값행(Sheets(3).Cells(i, 3).Value, eastRange) RightCol = 작은값열(Sheets(3).Cells(i, 4).Value, northRange) + 1 LeftCol = 작은값열(Sheets(3).Cells(i, 5).Value, northRange) - 1 Set shp = ActiveSheet.Shapes.AddShape(msoShapeRectangle, Cells(topRow, LeftCol).Left, Cells(topRow, LeftCol).Top, _ Cells(topRow..

EXCEL - VBA 2023.11.16

좌표를 이용해 엑셀에 도면 위치 표시하기(2)

3. 여러 개의 좌표를 도면에 일괄 표시하기 이번에는 엑셀에 아래와 같이 가상의 좌표를 표시하고, (참고 사항) - 도면의 위치는 1000단위로 간격을 두었으며, 숫자는 #, 표시형식을 사용해서 천단위 위만 표시되도록 했습니다. 예를 들어 첫번째 N의 좌표는 723,000입니다. - 도면의 좌표는 왼쪽에서 오른쪽, 위쪽에서 아래로 내림차순으로 표시되어 있습니다. 그 안에 아래의 좌표에 해당하는 도면의 위치를 표시해보겠습니다. 가. 작성 방법 ① 왼쪽과, 위쪽, 너비와 높이가 필요한데, 좌표가 정확히 구간과 일치하는 것이 아니므로 좌표보다 큰 값의 위치에 표시하도록 하겠습니다. ② 도면 색은 ColorScheme를 사용하는데, 1은 흰색이므로 제외하고 일련번호를 이용해 표시하겠습니다. 나. 코드 Dim i..

EXCEL - VBA 2023.11.15

매크로 - 범위로 처리하기

그동안은 매크로 작성 시 범위로 처리하는 것만 알고 있었는데, 최근에 유튜브를 보니 셀마다 처리하는 것이 아니라 배열에서 처리한 후 한꺼번에 범위에 일괄로 데이터를 입력하는 것이 훨씬 빠르다는 내용을 보고 충격을 받아 정리하고자 합니다. 먼저 범위로 처리하는 방법을 알아보겠습니다. A열에 2를 곱한 값을 B열에 넣는다고 할 때 범위로 처리하는 것은 아래와 같습니다. 1. 코드 작성 및 실행 먼저 개발 도구 - Visual Basic을 누르고, 삽입 - 모듈을 클릭해서 모듈을 추가합니다. 그리고, 코드 창에 아래 내용을 복사해서 붙여 넣습니다. Option Explicit Sub 곱하기() Dim rng As Range, c As Range Set rng = Range(Range("a1"), Range("..

EXCEL - VBA 2023.09.03

공백의 코드 값이 여러 가지입니다.

이 글에서 텍스트로 된 수식의 값을 구하는 사용자 정의 함수를 만들었는데, 네이버 카페에서 글을 읽다 보니 텍스트 수식을 값으로 바꿔달라는 글이 있어 이 파일에 적용해 보니 안됩니다. 원래는 엑셀 통합문서(*.xlsx)인데 위 사용자 정의 함수를 복사해서 붙여 넣은 후 매크로 사용 통합문서(*.xlsm)으로 바꿨습니다. 그리고, B1셀에 =calc_text(A1)라고 입력하고 엔터키를 누르니 #VALUE! 에러가 발생합니다. 왜 그런가 하고 A1을 마우스로 선택하고 F9키를 누르니 뒤에 공백이 하나 있습니다. 1. 공백 없애기 가. 실패 1 =calc_text(SUBSTITUTE(A1," ",""))라고 SUBSTITUTE함수를 이용해서 공백 한 칸을 공백이 없는 것을 대체하는 수식을 추가해도 여전히 #..

Excel 2023.08.20

텍스트로 된 수식의 값 구하기(4 - 2) - 사용자 정의 함수

텍스트로 된 수식의 값 구하기(4 - 1) - Evaluate 함수에서 VBA의 Evaluate 함수를 이용해 수식의 값을 구할 수 있다는 것을 알았는데, https://lsw3210.tistory.com/entry/%ED%85%8D%EC%8A%A4%ED%8A%B8%EB%A1%9C-%EB%90%9C-%EC%88%98%EC%8B%9D%EC%9D%98-%EA%B0%92-%EA%B5%AC%ED%95%98%EA%B8%B04-1-Evaluate-%ED%95%A8%EC%88%98 직접 실행창에서 매번 실행할 수는 없으므로 사용자 정의 함수를 만들어 사용해야 합니다. 1. VB 에디터 실행 개발도구 - Visual Basic을 눌러 VB Editor를 연 다음 엑셀 파일명을 클릭한 다음 사용자 정의 폼 삽입 옆의 콤..

EXCEL - VBA 2023.07.20

엑셀 VBA : 모든 테두리를 실선으로

1. 매크로 기록 - 모든 테두리를 실선으로 그리기 개발도구에서 매크로 기록을 누르고, 매크로 저장 위치를 '현재 통합문서'로 하고, 확인 버튼을 누르면 홈 탭, 테두리에서 모든 테두리를 클릭하고, 개발도구 - 매크로 중지를 누르면 아래와 같은 코드가 만들어집니다. Sub 매크로1() ' ' 매크로1 매크로 ' ' Range("A2:Q15").Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0..

EXCEL - VBA 2023.06.05

Range.AutoFilter Method(1) - expression.AutoFilter

1. 구문 VBA에서 사용하는 AutoFilter 메서드의 구문은 아래와 같습니다. expression.AutoFilter (Field, Criteria1, Operator, Criteria2, SubField, VisibleDropDown) ㅇ expression : Range 오브젝트를 반환하는 표현, 예, ActiveCell, Selection, Range("A1") 등 ㅇ Field : filter를 배치하려고 하는 영역의 offset(상대적 위치) 순번(index)으로 목록의 가장 왼쪽이 1 임. 따라서, 목록(list)이 A열부터 시작한다고 하면 A열이 1이지만, B열부터 시작한다고 하면 B열이 1이 됨 ㅇ Criteria1 : 조건1 ㅇ Operator : 필터에 적용되는 조건과 관련된 연산..

EXCEL - VBA 2023.03.02
반응형