썸북: 아무나 환영하게
[VBA/엑셀] 함수 입력, AutoFill 로 한번에 함수 자동 채우기 메크로 본문
안녕하세요, 구칠씀입니다
오늘은 함수 입력 및 AutoFill를 사용하여 지정한 범위에 함수 자동 채우기를 해보겠습니다.
차근차근 보면 업무에 맞게 적용도 바로 하실 수 있을 거예요!
먼저 엑셀파일을 열어서[개발도구]>[vb편집기] 창을 열어주세요!
아래는 예시로 작성한 표입니다.
저는 "비교 1=비교 2" 열에 앞에 두 데이터를 비교하는 간단한 수식으로 =B2=C2을 넣을 거예요
그럼 먼저 함수를 입력하는 코드를 작성해 볼게요.
sub 함수입력()
range("d2") = "=b2=c2"
end sub
아주 간단하죠
range를 사용해서 값을 입력할 셀을 지정해 주고
입력할 함수를 큰따옴표로 감싸기만 하면 끝!
이렇게 함수를 넣었다면 autofill을 사용하여 자동 채우기를 해보겠습니다!
Sub 함수자동채우기()
'기능: 함수 자동 채우기
'상세설명: 함수를 s1 입력하여, 원하는 범위 s2에 자동 채우기를 한다.
Dim s1 As Range '함수를 입력할 범위
Dim s2 As Range '함수 자동채우기 실행할 범위
Dim 전체행 As Integer '데이터의 마지막 행
전체행 = Range("A1").CurrentRegion.Rows.Count
Set s1 = Range("d2:d3") '함수를 입력할 범위 선언
Set s2 = Range(Cells(2, 4), Cells(전체행, 4)) '함수 자동채우기 실행할 범위 선언
's1범위에 함수값 대입
Range("d2") = "=b2=c2"
Range("d3") = "=b3=c3"
's1에 입력한 함수값을 s2 범위에 자동채우기
s1.AutoFill Destination:=s2
'노란색 채우기
s2.Interior.Color = vbYellow
End Sub
위의 코드를 입력하고 실행하면 아래와 같은 결과가 나옵니다.
위의 코드를 해석하면 다음과 같습니다.
위의 range 객체변수 s1은 함수가 입력된 범위입니다.
해당 범위는 하나의 셀이 아닌 두 개 이상의 셀이 지정이 되어야 해요
=B2=C2 다음에는 =B3=C3 값이 입력되어야 하기 때문입니다.
엑셀로 자동 채우기를 할 때 연속된 값이 입력되게 하기 위해 2개 이상의 값을 넣어주는 것과 같은 원리입니다.
함수가 입력되어야 하는 열의 첫 번째와 두 번째행의 위치를 s1으로 지정해서
각 =B2=C2와 =B3=C3을 입력해 준 이유입니다.
자 다음으로 함수를 자동 채우기 할 범위를 s2에 지정을 해줍니다.
저는 제목행을 제외하고 데이터의 마지막까지 자동 채우기를 해주기 위해서
전체행 변수를 선언하여 데이터의 마지막 행 수를 대입하였습니다.
전체행 = range("a1").currentregion.rows.count
: 셀 a1의 인접한 데이터의 전체 열수 대입
set s2 = range(cells(2,4),cells(전체행,4))
: 함수를 입력할 D열 즉 4번째 열에 제목을 제외하고 데이터의 마지막까지 범위 선택
여기까지 함수 입력 및 범위 설정이 완료되었다면,
autofill을 통하여 자동 채우기를 실행해주면 됩니다.
s1.autofill destination:=s2
: 즉 s1에 입력한 값을 사용자가 지정한 범위인 s2에 자동채우기를 한다는 뜻입니다.
이렇게 하면 함수 입력, autofill을 통한 자동 채우기까지가 끝이에요!
저는 추가로 함수가 입력된 범위인 s2에 색깔 채우기 코드를 추가해서 눈에 잘 보이게 했어요~!
색 채우기에 대해서 알고 싶으시다면 아래 이전 발행글을 참고하세요!
2022.11.28 - [★ 코딩 공부/vba, 엑셀] - [VBA/엑셀] 선택한 범위 원하는 색 채우기 메크로!
[VBA/엑셀] 선택한 범위 원하는 색 채우기 메크로!
안녕하세요, 구칠씀입니다! 이번에는 아주 간단하면서 잘 사용하고 있는 메크로를 만들어봤는데요! 클릭만으로 만든 후 열어서 불필요한 코딩만 줄여줬습니다! 그렇게 줄이다 보니 한 줄이 되
somebook.tistory.com
'★ 코딩 공부 > vba, 엑셀' 카테고리의 다른 글
[VBA/엑셀] 폴더 내 파일리스트 작성 메크로 (0) | 2024.03.30 |
---|---|
[VBA/엑셀] 폴더 내 엑셀 파일 합치기 메크로 (0) | 2023.08.13 |
[VBA/엑셀] 선택한 범위 원하는 색 채우기 메크로! (3) | 2022.11.28 |
[VBA/엑셀] 문서 내 모든 시트 pdf 파일로 변경하기 메크로 (0) | 2022.11.16 |