VBA로 요일구하기! - WorksheetFunction.Text

2019. 6. 14. 10:34VBA/엑셀기능활용

728x90
반응형




먼저 이 글을 올리는 이유는 출력하는 VBA를 만들다 보니

특정 요일은 제외하고 출력할 수 있는지에 대해서 건의가 들어와서 입니다.

 

결론은 아래처럼 특정 요일에만 출력이 된다거나, 할 수 있다.

WorksheetFunction.Text("2019-05-03", "AAA")

직접실행창에서 나오듯이 "AAA"라는 형식을 사용하면 한글로 요일이 출력 되는 것을 볼 수 있습니다.

 

WorksheetFunction.Text

WorksheetFunction 이라는 Object 의 Method 들 중에 하나인 Text 라는 method 를 이용해서

요일을 출력할 수 있습니다. 특정 요일만 출력할 수 있는 것이 아니라

VBA 에서 WorksheetFunction을 직접 쳐보면 알겠지만, 워크시트의 함수? 들을 매크로에서 사용할 수 있다고 보시면 됩니다.

예를 들자면 , COUNT, COUNTA, COUNTBLANK, SUM, SUMIF, COUNTIF, 등등 우리가 엑셀에서 실제

많이 사용하는 함수들도 사용할 수 있습니다.

대부분의 사용법은 엑셀 자체에서 함수를 사용할 때의 방식과도 매우 비슷합니다.

오히려 저 같은 경우에는 VBA로 함수를 사용하는 것이 더 편한 편입니다만....

자세한 내역은 아래 공식 Microsoft Docs를 참고하시면 될 것 같습니다.

https://docs.microsoft.com/ko-kr/office/vba/api/excel.worksheetfunction.text

 

사용법 !

 

WorksheetFunction.Text("2019-05-03", "AAA")

그냥 이렇게 한 줄 쓰면 결과 값은 String 형으로 "금" 이렇게 Retrun 해주기 때문에

위에 한 줄을 써서 사용하면 됩니다.

예를 들어 사용하자면 저는 아래 처럼 조건문을 쓸 때 사용합니다.

 

토요일 인 경우에만! 코드를 실행하자!

Private Sub test()

 

' ** 만약 날자가 토요일이라면

If WorksheetFunction.Text("2019-05-03", "AAA") = "토" then

' 원하는 코드 작성 !

End if

 

End Sub

Colored by Color Scripter

Tip. 한글로 요일을 구할 때는 "AAA"로 표기를 하는데 "DDDD" 라고 하면 영어로 나옵니다.

#VBA

#VBA요일구하기

#VBA특정요일만

#엑셀요일구하기

#엑셀요일한글





















728x90
반응형