스킬캠퍼스
4강 · Range와 Cells
강의

오늘 끝나면

Range와 Cells

  • Range와 Cells의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 Range와이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

셀을 코드로 읽고 쓰기 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

엑셀 VBA · 04

Range와
Cells

셀을 손으로 클릭하던 걸 코드로 가리킴.
Range("A1")Cells(2,3) 두 가지 길.
.Value 하나로 읽고 또 씀.

P.01엑셀 VBA · 04

셀을 코드로 가리킨다

엑셀에서 셀 하나 고치려면 마우스로 클릭하고 타이핑함. VBA는 그 “어느 칸”을 코드로 가리킴.

가리키는 방법은 두 가지임.
Range("A1") 은 엑셀 주소 그대로 적는 길.
Cells(1, 1) 은 행 번호·열 번호로 적는 길.
둘 다 같은 칸 A1 을 가리킴.

셀을 가리켰으면 끝에 .Value 를 붙여 값을 다룸.
Range("A1").Value는 “A1 칸의 값” 이라는 뜻임.
이제 셀이 마우스가 아니라 코드로 움직임.

마우스 클릭 → 코드 한 줄
클릭 한 번 = 코드 한 줄
손으로 — 마우스

A1 칸을 클릭하고 → 10 을 타이핑 → 엔터

코드로 — VBA

Range("A1").Value = 10

셀 가리키기 + .Value + 값 = 셀 한 칸 제어
P.02엑셀 VBA · 04

Range vs Cells — 같은 칸, 다른 표기

헷갈리는 건 딱 하나임. Cells(행, 열) 순서임. 가로세로 거꾸로 아님.

Range 는 사람이 보는 주소 "C2" 를 따옴표에 적음.
Cells 는 숫자 두 개로 적음 — 먼저 , 그다음 .
그래서 C2 는 2행 3열 → Cells(2, 3) 임.

그럼 왜 둘 다 씀?
주소를 알 땐 Range("C2") 가 읽기 편함.
행·열을 숫자로 굴려야 할 땐 Cells(i, j) 가 강함 — 다음 강 반복문에서 빛을 봄.

A1 = Cells(1,1) · C2 = Cells(2,3)
같은 칸 · 두 가지 표기
ABCD
1
2C2
3
4
RangeRange("C2")
Cells (행, 열)Cells(2, 3)

행 먼저 · 열 나중 — C2 는 2행 3열

P.03엑셀 VBA · 04

.Value로 읽고 쓴다

오른쪽에서 직접 해봄. 코드 한 줄 적고 실행하면 가상 시트에 값이 박힘.

핵심은 .Value= 의 어느 쪽에 있느냐임.
x = Range("A1").Value 는 A1 값을 읽어서 가져옴.
Range("A1").Value = 10 은 A1 에 10 을 .

왼쪽이면 쓰기, 오른쪽이면 읽기. 같은 .Value 인데 위치로 방향이 갈림.
Cells(2, 3).Value = "납품" 처럼 문자열도 됨 — 따옴표로 감싸면 글자임.
직접 칸을 바꿔 가며 셀이 코드로 채워지는 걸 보셈.

= 오른쪽에 있으면 읽기 · 왼쪽이면 쓰기
셀 제어 시뮬레이터 · 코드로 시트 쓰기
가상 시트 — Sheet1
ABCD
112매출
2
3
4
코드 — 한 줄 적기
실행 결과

한 줄 적고 실행을 눌러 보셈.

P.04엑셀 VBA · 04

범위를 한 번에 다룬다

Range 는 한 칸만 아니라 범위도 가리킴. Range("A1:A3") 처럼 콜론으로 묶음.

묶은 범위엔 통째로 같은 값을 쓸 수 있음.
Range("A1:C1").Value = 0 한 줄로 세 칸이 다 0 이 됨.
색을 칠하거나(.Interior.Color) 지우는(.ClearContents) 것도 범위째 한 번에 됨.

한 칸씩 도는 건 Cells(i, j)i, j 를 숫자로 바꿔 가며 반복할 때 함.
이 숫자 주소가 반복문과 만나면 표 전체를 코드로 훑게 됨 — 다음 5강의 핵심임.
지금은 “셀도, 범위도 코드로 가리킨다” 만 챙기면 됨.

한 칸이 아니라 여러 칸을 묶어
Range("A1:C1").Value = 0
ABCD
1000
2
3
한 칸Range("A1")
범위Range("A1:C1")

콜론(:)으로 묶으면 여러 칸이 한 덩어리

P.05엑셀 VBA · 04

시트를 지정한다

그냥 Range("A1")만 적으면 “지금 보고 있는 시트” 의 A1 임. 위험할 때가 있음.

엉뚱한 시트가 활성화돼 있으면 엉뚱한 칸에 씀.
그래서 앞에 시트를 박아 줌 — Worksheets("Sheet1").Range("A1").Value = 10.
이러면 어느 시트가 화면에 떠 있든 정확히 그 시트의 A1 에 씀.

정리하면 셀 주소는 시트 → 셀 → 값 순으로 점을 찍어 좁혀 감.
Worksheets("Sheet1").Cells(2, 3).Value 처럼.
코드가 늘어날수록 이 시트 지정 한 줄이 사고를 막아 줌.

Q. Cells(2, 3) 이 가리키는 셀은? (A2 · C2 · B3 · C3)정답은 C2 임.
Cells(행, 열) 순서라 2행 3열을 가리킴.
2행 → 숫자 2, 3열 → A·B·C 중 세 번째 C.
그래서 2행 3열 = C2 = Range("C2") 임.
어느 시트의 어느 칸인지 끝까지 적기
시트 → 셀 → 값 으로 좁히기
시트Worksheets("Sheet1")
어느 시트
·
.Cells(2, 3)
어느 칸 (C2)
·
.Value = 10
무엇을 쓸지

Worksheets("Sheet1").Cells(2,3).Value = 10

점(.)으로 이어 붙여 정확히 한 칸을 찍음

3줄 요약

  1. 1셀을 코드로 읽고 쓰기
  2. 2Range와 Cells은 매크로 → 변수·셀 → 조건·반복 → 폼 → 자동화 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

Range와

셀을 코드로 읽고 쓰기

매크로

기록하거나 작성해 실행하는 자동화 코드

Sub

실행 단위가 되는 프로시저