Range, Cell : 데이터 입력하기, 지우기
2024. 11. 11. 19:51
- Range란 ?
: 워크시트 오브젝트의 하위 오브젝트, 한 개 이상의 셀들로 구성된다.
엑셀 데이터는 행 (가로, 숫자, Rows) x 열 (세로, 알파벳, Columns) 로 이루어져 있다.
코드를 작성하다보면 워크시트에 몇개의 셀이 있는지를 알아볼 필요가 있다.
예를들면 셀의 데이터가 있는 수 만큼 그래프를 그린다고 했을 때, 행과 열의 수를 카운팅하는 매서드를 이용할 수 있다.
lngRow = ActiveSheet.Rows.Count ' 시트의 행 수를 카운팅하여 lngRow 변수에 저장
intColumn = ActiveSheet.Columns.Count ' 시트의 열 수를 카운팅하여 intColumn 변수에 저장
lngCell = lngRow * intColumn ' 행 수와 열 수를 곱한 결과값을 lngCell 변수에 저장
이 때, lngRow와 intColumn은 정수 integer나 더 긴 정수를 표현할 수 있는 long으로 선언하면 된다.
- Range에 데이터 입력하기
셀에 데이터를 입력하는 방법은 크게 4가지가 있다.
1) 직접 입력하기
ⓐ Range ("열행").Value="입력할내용"
Sub Greeting()
Range("C3").Value="Hello"
End Sub
ⓑ Cells(행,열) = "입력할내용"
Sub Greeting()
Cells(2,7) = "Hello"
End Sub
2) 변수에 데이터를 미리 할당한 뒤에 입력하기
Sub Greeting()
Dim gre As String
gre = "Hello"
Range("b2").Value = gre
End Sub
3) 루프를 통해 입력하기 : 반복문 for, n to n
ⓐ D1에서 D10까지 1부터 10까지 증가하는 숫자를 입력
Sub Greeting()
'D1부터 D10까지의 셀에 1부터 10까지의 숫자 입력
Dim i As Integer
For i = 1 To 10
Range("D" & i).Value = i
Next i
End Sub
i가 1에서 10이 될 때 까지 "D"&i (=Di)셀에 i를 입력하기를 반복한다.
ⓑ E1에서 E10까지 10부터 1까지 감소하는 숫자를 입력 : Step -n
Sub Greeting()
'E1부터 E10까지의 셀에 10부터 1까지의 숫자를 내림차순으로 입력
Dim i As Integer
For i = 10 To 1 Step -1
Range("E" & 11 - i).Value = i
'11-i는 E1부터 E10까지의 행을 지정하는 역할.
'i가 10으로 시작, E1=10 / E2=9 ...
Next i
End Sub
4) 범위에 입력하기
Sub Fruits()
Dim myArray As Variant
myArray = Array("사과", "체리", "딸기")
Range("F2:F4").Value = Application.Transpose(myArray)
End Sub
myArray라는 배열을 만들고, 배열의 데이터를 집어넣을 범위를 Range에 지정해준다.
Range("시작위치:끝위치").Value = Application.Transpose(myArray)
여기서 Application.Transpose(myArray)는 1차원배열 (그저 데이터의 리스트)를 2차원배열 (행과 열이 있는 배열)로 바꿔주는 매서드로 사과,체리,딸기라는 리스트의 값들을 F열의 2행부터 F열의 4행까지 하나씩 입력해주는 역할을 한다.
- 데이터 지우기 : Clear(내용&서식), ClearContents(내용),ClearFormats(서식)
Sub RemoveRange()
Worksheets("Sheet1").Range("A1").Select
Range("A1").CurrentRegion.Select
Selection.ClearContents
With Range("A1:G10")
.Select
.Value = ""
End With
End Sub
1) 워크시트("시트명").Range("시작셀").Select
시트명 워크시트의 시작셀 A1을 선택한다
2) Range("시작셀").CurrentRegion.Select
시작셀의 주변 연속된 데이터 범위를 선택한다.
3) Selection.ClearContens
선택한 범위의 내용과 서식을 모두 지운다
4) With Range("지울:범위")
.Select
.Value = ""
End With
범위를 선택하고 지운다
참고 :
http://www.iexceller.com/MyXls/VBA_Beginner/VBA_Beginner5.asp
'VBA 이론' 카테고리의 다른 글
범위 선택, Function() (0) | 2024.11.21 |
---|---|
파일을 실행하는 VBA (1) | 2024.11.19 |
영어 주소지를 한글로 변환해주는 VBA (3) | 2024.11.15 |
InputBox, 반복문 For (0) | 2024.11.12 |
특정 조건에 행삽입과 색상변경을 해주는 VBA (0) | 2024.11.08 |