2019. 6. 14. 10:34ㆍVBA/엑셀기능활용
먼저 이 글을 올리는 이유는 출력하는 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 |
Tip. 한글로 요일을 구할 때는 "AAA"로 표기를 하는데 "DDDD" 라고 하면 영어로 나옵니다.