컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post C언어] printf() 함수 출력을, 문자열로 저장하는 법; printf to Strin...C언어] 나머지 값 연산자 사용 법, 퍼센트 기호(%); Modulus Operator, ...C언어] 올해 연도(년도) 4자리, 2자리로 구하기/출력; Current Year Form...C언어] 올해가 윤년인지 평년인지 판단 예제; Current Year is Leap Yea...C언어] 특정 연도, 윤년 여부 판단 함수; is Leap Year FunctionExcel/엑셀 팁] 위쪽 셀의 내용/값/수식, 현재 셀에 자동 복사 핫키; Cell Au...Perl/펄] 올해가 윤년인지 평년인지 판단 예제; Current Year is Leap ...Perl/펄] 윤년 평년 여부 판단 함수; is Leap YearHTML-CSS] 텍스트 중앙(가운데) 정렬, 양쪽/우측/좌측 맞춤 태그; Text Ali...일본어 가운뎃점, '가운데 점' 입력 방법; Japanese 'Katakana Middle...

Excel/엑셀 VBA] 문자열 크기/길이, 글자 수/바이트 수 계산 함수; String Size Function

Thursday, February 01, 2007

엑셀 비베에서는 다음과 같은 함수를 사용하여, 문자열의 사이즈(길이)를 구할 수 있습니다.

Len(): 한글 영문 구분없이, 실제의 글자 개수만 반환

LenMbcs(): 문자열을 ANSI(한글 윈도우의 경우에는, 한글 완성형에 해당) 인코딩으로 간주하여, 바이트 수 계산. 영문은 1바이트, 한글은 2바이트. 단, 이 함수는 비베에 내장되어 있지 않기에 아래 예제에서처럼 직접 만들어 주어야 함.

LenB(): 문자열을 16비트 유니코드로 간주하여 바이트 수 계산. 한글/영문 관계 없이 무조건 1글자는 2바이트


문자열 길이 (크기; 사이즈) 구하기 예제


(엑셀에서 Alt+F11키를 눌러, 비베 에디터를 실행하고, 비베 에디터 메뉴의, "삽입 > 모듈"을 선택한 후, 다음 코드를 붙여 넣습니다.)
비베 에디터에서 F5 키를 누르거나, 엑셀에서 Alt+F8 키를 누르면 VBA 매크로가 실행됩니다.
Sub String_Length_Example()

  e = "ABCD"
  h = "가나다라"


  '''''''''''''''''''''''''
  ' 단순히 글자 개수 구하기

  result = Len(e)
  MsgBox result & "글자"
  ' 출력 결과: 4글자


  result = Len(h)
  MsgBox result & "글자"
  ' 출력 결과: 4글자




  '''''''''''''''''''''''''
  ' 한글 완성형 바이트 수 구하기

  result = LenMbcs(e)
  MsgBox result & "바이트(ANSI)"
  ' 출력 결과: 4바이트(ANSI)


  result = LenMbcs(h)
  MsgBox result & "바이트(ANSI)"
  ' 출력 결과: 8바이트(ANSI)




  '''''''''''''''''''''''''
  ' 유니코드 바이트 수 구하기

  result = LenB(e)
  MsgBox result & "바이트(Unicode)"
  ' 출력 결과: 8바이트(Unicode)


  result = LenB(h)
  MsgBox result & "바이트(Unicode)"
  ' 출력 결과: 8바이트(Unicode)


End Sub




' 한글 완성형 문자열의 바이트 수 구하기 함수

Function LenMbcs(ByVal str As String)
  LenMbcs = LenB(StrConv(str, vbFromUnicode))
End Function



비베(VBA)가 아닌, 엑셀의 셀에서, 내장 함수로 문자열 길이 구하기: ▶▶ Excel/엑셀] 셀에서, 문자열 길이, 크기(글자 수/바이트 수) 구하기; String Size

VBA 배열의 길이 구하기: ▶▶ 엑셀/VBA매크로] 배열 크기 사이즈, 요소 개수 구하기; VB Array Size, Length


0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top