썸북: 아무나 환영하게

[VBA/엑셀] 함수 입력, AutoFill 로 한번에 함수 자동 채우기 메크로 본문

★ 코딩 공부/vba, 엑셀

[VBA/엑셀] 함수 입력, AutoFill 로 한번에 함수 자동 채우기 메크로

구칠씀 2023. 8. 12. 17:09
728x90
반응형

안녕하세요, 구칠씀입니다

오늘은 함수 입력 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

 

 

 

 

728x90
반응형
Comments