Skip to content
조회 수 24994 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

Excel VBA (1): 셀 선택 및 변수

워크시트 모듈은 보통 해당 시트의 Event Procedure(시트를 활성화 할때, 비활성화 할때, 더블클릭할때, 등등)를 관리할때 사용하고 엑셀 Object중 하나죠, 일반 모듈은 그이외 목적(일반 프로시져, 사용자 정의 함수, 유저폼 이나 클래스 모듈 부르기)으로 엑셀 Object가 아닌 별개의 Script를 적는 공간이라 보시면 됩니다. 

이해가 잘 안되신다면 VBE창을 열고, 도움말 부분을 읽어보시면 됩니다. 

그냥 간단한 프로시져를 만들때는 별 상관이 없지만 Script이 길어진다면 각 용도에 맞게 사용하는 습관을 가지는게 좋겠죠. 



http://blog.daum.net/nnnuuu/7513355



Aappication.Workbooks("엑셀파일명.xlsx").Worksheets("시트이름").Range("셀번호")

 

Worksheets("시트이름"), Worksheets(시트 순서 번호)

 

.Range.("셀번호").Value : 해당 셀의 value 속성을 참조 (기본 값이므로 range.("셀번호") 역시 동일 수행)

.Range.("셀번호").ClearContets : 해당 셀의 내용을 삭제 (서식은 유지된다.)

.Range.("셀번호").Clear : 해당 셀의 내용과 서식 모두 삭제

.Range.("셀번호").Copy ~.Range("셀번호2") : 해당 셀을 복사

 

MsgBox.Range("셀번호").Value : 해당 셀의 값을 MsgBox로 출력

 

ActiveSheet.Comments(1).Parent.Addrees : 메모의 셀 주소. Comments 컬렉션의 1번째 개체, 즉 첫 번째 메모의 parent를 반환하는데, 메모의 parent는 range개체이므로 메모가 있는 셀을 반환하게 된다.

Range("셀번호").comment : 해당 셀의 메모를 반환한다.

ActiveSheet.comments(1) : 선택된 시트의 1번째 메모를 반환한다.

 

Worksheets("시트이름").Comments(메모 번호).Shape.Fill.ForeColor.RGB = RGB(R값, G값, B값) :메모의 배경색을 변경

Worksheets("시트이름").Comments(메모 번호).Shape.TextFrame.Characters.Font.ColorIndx = 번호 : 메모의 폰트색을 변경

Range("셀번호").AddComment : 해당 셀에 메모 추가

Worksheet(1).Comments(1).Visible = True/False : 1번 시트의 1번째 메모를 표시하거나 숨긴다.

 

랜덤 값 참고:

cmt.Shape.Fill.ForeColor.SchemeColor = Int((80) * Rnd + 1) '1-80
cmt.Shape.TextFrame.Characters.Font.ColorIndex = Int((56) * Rnd + 1) '1-56

 

ActiveCell : 현재 활성화된 셀

ActiveChart : 워크시트에 있는 차트 개체나 차트 시트

ActiveSheet : 현재 활성화된 시트

ActiveWindow : 현재 활성화된 창

ActiveWorkbook : 현재 활성화된 통합 문서

Selection : 현재 선택된 개체 (Range, Shape, CharObject 개체 등)

ThisWorkbook : 현재 실행 중인 VBA 프로시저가 있는 통합 문서

 

.Range.("셀번호").Value = 값 : 해당 셀에 값을 입력한다.

.Range.("셀이름").Value = 값 : 해당 이름으로 정의된 셀에 값을 입력한다.

.Range.("셀번호:셀번호").Value = 값 : 선택된 범위에 값을 입력한다.

.Range.("셀번호", "셀번호").Value = 값 : 놀랍게도 위와 같은 결과를 수행한다.

.Range.("셀번호:셀번호 셀번호:셀번호").Value = 값 : 두 셀번호:셀번호 사이에 빈칸이 있으면 엑셀의 논리곱 연산자를 사용한다. 두 범위의 공통된 부분의 셀에 값을 입력한다.

.Range.("셀번호, 셀번호, 셀번호..").Value = 값 : 선택된 셀들에 값을 입력한다.

 

Worksheets("시트이름").Cells(1,1) = 값 : 해당 시트의 1번째 행의 1번째 열(즉 A1)에 값을 입력한다.

ActiveCell.Cells(2,1) = 값 : 현재 선택된 셀의 2번째 행의 1번째 열에 값을 입력한다.

 

object.Offset(rowOffset, columnOffset) : 제자리는 0,0. 위쪽이나 왼쪽은 음수, 아래쪽이나 오른쪽은 음수.

ActiveCell.offset(1,0).value = 값 : 선택된 셀의 1번째 다음 행과 0번째 다음 열에 값을 입력한다.

ActiveCell.offset(1,0).select : 선택된 셀의 1번째 다음 행과 0번째 다음 열을 선택한다.

 


 

MsgBox TypeName(변수명) : 변수의 자료형을 출력한다.

 

Dim 변수명(1 to 100) As Integer : Integer형의 변수가 1부터 100개인 배열 선언문

Dim 변수명(50) As Integer : Integer형의 변수가 0부터 50개인 배열 선언문

Dim 변수명(1 to 10, 1 to 10) : 10X10의 2차원 배열 (행렬). 이와 같은 식으로 3차원 배열도 선언 가능

 

Const 상수명 As Date = #1/30/2007# : Date형 값 할당법(1)

Const 상수명 = #12:00:00# : Date형 값 할당법(2)

 

Set 변수명 = Range("A1:A10") : 개체 변수는 Set 키워드를 이용해 할당(참조).

 

Type 사용자 지정 자료형

변수명 As 자료형

변수명 As 자료형

...

End Type

Dim 변수명(1 to 100) As 사용자 지정 자료형

1~100개의 구조체형 변수를 선언. 구조체 정의를 하고 Dim으로 선언한다.

 

Chr(10) : 줄바꿈

Application.WorksheetFunction.Max(Range("A:A")) : A열에서 가장 큰 값을 찾아낸다. (Application 개체만으로 사용 가능)

Range("A:A").Find(Application.Max(Range("A:A"))).Active

 

Select : 범위 지정 가능

Activate : 셀 하나 선택(활성화)

로그인 후 댓글쓰기가 가능합니다.

?

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소