[VBA] Excel에서 함수를 사용자 정의하는 방법을 간단한 예로 설명합니다.

1771 단어
엑셀의 함수는 의심할 여지없이 강하지만, 아무리 강한 전사라도 그의 약한 발뒤꿈치가 있다[1].이틀 동안 Excel을 사용할 때 어떤 칸에서 오늘이 무슨 요일인지 자동으로 계산해야 한다는 요구가 생겼습니다. (예를 들어 Today is Tuesday 표시)엑셀에 해당하는 함수가 있을 줄 알았는데 찾아봐도 없어요. WEEKDAY만 돌아올 수 있어요. 오늘이 이번 주 며칠째예요. 숫자예요.그래서 이상한 공식을 썼다 = "Today is"& WEEKDAY (TODAY (), 2). 계산 결과는'Today is 2'.
이거 정말 2 짜리야!
문제에 부딪히면 방법을 강구하여 해결해야 한다. 이번에 손을 댄 것은 엑셀의 사용자 정의 함수 기능이다. 사용한 것은 죽지 않는 VBA이다. 아래의 내용을 이해하려면 프로그래밍 지식을 좀 알아야 한다.
Office 2010 버전 및 이후 도구 모음에서 VBA (또는 매크로) 를 찾으려면 약간의 곡절이 있지만, 단축키 Alt + F11 을 사용하면 VBA 창을 직접 조정한 다음 모듈을 삽입하면 함수를 사용자 정의할 수 있습니다.
사용자 정의 함수라는 것은 사실 함수 프로그램을 쓰는 것이다. 예를 들어 위에서 언급한 예에서 우리는 WEEKDAYNAME 함수를 써서 WEEKDAY가 되돌아오는 값을 진일보한 변환을 할 수 있다. 1은 Moday로, 2는 Tueday로... 7은 Sunday로 변환할 때까지.
간단한 함수이며 VB 코드는 다음과 같습니다.
Function WEEKDAYNAME(W As Integer) As String
 Select Case W
    Case 1
        WEEKDAYNAME = "Monday"
    Case 2
        WEEKDAYNAME = "Tuesday"
    Case 3
        WEEKDAYNAME = "Wednesday"
    Case 4
        WEEKDAYNAME = "Thursday"
    Case 5
        WEEKDAYNAME = "Friday"
    Case 6
        WEEKDAYNAME = "Saturday"
    Case 7
        WEEKDAYNAME = "Sunday"
 End Select
End Function

함수 코드를 다 쓴 후 VBA 창을 닫고 방금 사용자 정의된 WEEKDAYNAME 함수를 사용하여 Excel 칸에 공식을 다시 쓴다 = "Today is"& WEEEKDAYNAME (TODAY (), 2). 계산 결과는'Today is Tuesday'로 최초의 구상을 실현했다.
-----
주: 사진은 인터넷에서 나온 것입니다.
[1] 아카류스의 발꿈치.
-----
판권 성명: 본고는 @저는 작은 새일 뿐입니다. "지식공유 서명-비상업적 사용-연역 금지 3.0 중국 대륙 허가 협의"로 허가합니다.주석을 달지 않으면 모두 오리지널 문장입니다. 전재는 주석을 달십시오. 전재는 여기에서 작은 새둥지일 뿐입니다.본문 주소:http://blog.sina.com.cn/s/blog_638f98570101fbqn.html

좋은 웹페이지 즐겨찾기