반응형

End 5

While 문 - VB와 VBA의 차이점

VBA는 엑셀 등 오피스 앱을 위한 VB이지만(Visual Basic for Application), VB가 모두 적용되는 것은 아닙니다. 1. VB와 VBA의 While문 차이점가. VB의 While문구글에서 vba while로 검색을 하면 VB에 대한 도움말만 나오고, 들어가 보면 While 반복문의 구문은 아래와 같습니다.While condition [ statements ] [ Continue While ] [ statements ] [ Exit While ] [ statements ] End While Continue While 문도 있고, Exit While로 중간에 빠질 수 있습니다. condition은 조건이고, statements는 실행문입니다. Exit While 다음의 statemen..

EXCEL - VBA 2023.12.17

좌표를 이용해 엑셀에 도면 위치 표시하기(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

Range.AutoFilter Method(5) - 필터된 영역에 붙여넣기(1)

1. 필터링된 경우에도 보이지 않는 셀까지 데이터가 붙여지는 문제점이 있음 위와 같은 데이터가 있을 경우 동명을 가락1동으로 필터링하면 아래와 같이 가락1동 관련 데이터만 표시되는데, H25셀부터 H34셀까지의 내용을 복사한 후 H2셀에 붙여 넣으면 10개를 복사했는데, H2셀부터 H9셀까지 6개만 붙여 넣어져서 4개는 사라졌습니다. 원인은 7행부터 8행까지와 10행부터 11행까지 숨겨진 행에도 붙여 넣어져서 그렇습니다. 홈 탭 > 정렬 및 필터 > 지우기를 눌러 모든 데이터를 표시하면 필터링된 경우에도 보이는 셀에만 복사되는 것이 아니라, 2행부터 11행까지 연속적으로 붙여 넣기가 됩니다. 그러나, 필터링된 데이터를 다른 곳에 붙여 넣는 것은 문제가 없습니다. 예를 들어 가락1동으로 필터링된 상태에서 ..

EXCEL - VBA 2023.03.08

엑셀 VBA에서 셀 또는 범위 지정하기(3) - 여러 셀 또는 떨어진 셀

3. 여러 셀 지정하기 가. Range 이용하기 SUM 함수를 이용할 때처럼 Range 안에 셀 주소를 입력하여 범위를 지정할 수 있습니다. 연속된 범위는 :(콜론)을 사용하고 떨어진 범위는 ,(콤마)를 사용합니다. (1) 연속된 범위 지정 개발도구 - Visual Basic 명령을 눌러 Visual Basic Editor를 실행한 다음 모듈을 삽입하고, 오른쪽 코드 창에 아래 코드를 입력합니다. Sub 연속범위지정() Range("a1:a3").Select End Sub 그리고, 삼각형 모양의 아이콘을 누르거나, F5키를 눌러 실행하고, 엑셀 모양 아이콘을 눌러 엑셀로 돌아가 A1셀에서 A3셀까지 선택됩니다. 값을 입력하려면 지정된 범위 = 값 이라고 입력하면 됩니다. Sub 연속범위지정() Range..

EXCEL - VBA 2022.11.03
반응형