programing

VBA에서 트림()과 트림 $()의 차이점은 무엇입니까?

newstyles 2023. 6. 23. 21:47

VBA에서 트림()과 트림 $()의 차이점은 무엇입니까?

사이의 차이점은 무엇입니까?trim그리고.trim$vba로에?했을 때 에서 "vba"라고 했습니다.cant find project or library

내가 그것을 검색했을 때, 나는 포럼 중 하나에서 사용자가 이것들을 사용하는 것을 발견했습니다.

 vba.trim("string")

그는 함수의 접두사에 vba로 응답했습니다.그리고 놀랍게도 그것은 내 컴퓨터에서도 작동했습니다.하지만 저는 이 기능들을 찾았습니다.

 trim and trim$ 
 left and left$ 
 leftb and leftb$

trim and trim$이 무엇인지 궁금합니다.차이점을 찾고 싶어서 구글링을 시작했는데 결과는 $알파벳을 무시한 트림입니다.

저는 단지 그것에 대해 알고 싶을 뿐입니다.저는 트림이 vba 함수이고 트림$이 엑셀 시트 함수라고 의심하고 있었습니다.는 하만우리는이 있어요.Application.worksheetfunction엑셀 기능을 사용하는 것이 맞습니까?트림과 트림 $을 구별할 수 있는 사람이 있습니까?

Issun이 당신의 질문에 답변했지만, 저는 코멘트가 아닌 추가 답변을 제공하기 위해 충분한 세부사항을 게시하고 싶었습니다.

문자열 버전은 수년간 테스트한 데이터 유형에 따라 약 10-30% 더 빠릅니다.일반적으로 이는 눈에 띄지 않지만 대규모 데이터셋에서 실행할 경우 성능 차이가 있습니다.그래서 저는 변형된 버전보다는 문자열을 사용하는 것이 쉬운 일입니다.

아래 샘플은 문자열에서 작동하므로 이 범위의 높은 쪽 끝에서 속도 이점을 보여줍니다.

이러한 프로그램은 일반적으로 전체 워크시트 또는 전체 워크북에서 사용되므로 이러한 기능을 두 공용 주소록의 변형 배열과 함께 사용했습니다.

링크는 당신의 질문을 위한 훌륭한 참고 자료이며, 훨씬 그 이상입니다.

  1. 비교대에서 vbBinaryComparevbTextCompare
  2. 빈 문자열 최적화
  3. 교체 전 테스트
  4. 상수인 내장상사용면하를 하여,VbNullString보다 .""다 둘 포 다 함 놓 세 겠 지 치 만 를 포 가 된 ,을 포함하는 세포를 놓치겠지만,'에 반에면.IsEmpty을 줍습니다.
  5. 루최중화적())AND 개로 IF조기 탈출)
  6. Optimizing If 테스트는 가장 일반적인 부울 결과를 먼저 반환합니다.Else, 경즉(로)False는 스트가보더수있다니습적절할다테보다 더 적절할 수 .True)
  7. 용사를 합니다.Mid$과제의 왼쪽에VBA의 숨겨진 기능으로부터

    Sub QuickTimer1()
    Dim lngRow As Long
    Dim dbTime As Double
    Dim strSample As String
    Dim strShort As String
    strSample = "random string"
    dbTime = Timer()
    For lngRow = 1 To 50000000
        strShort = Left$(strSample, 6)
    Next lngRow
    MsgBox Timer() - dbTime
    End Sub
    
    Sub QuickTimer2()
    Dim lngRow As Long
    Dim dbTime As Double
    Dim strSample As String
    Dim strShort As String
    strSample = "random string"
    dbTime = Timer()
    For lngRow = 1 To 50000000
        strShort = Left(strSample, 6)
    Next lngRow
    MsgBox Timer() - dbTime
    End Sub
    

Trim 변형 버전입니다.문자열에 사용할 경우 불필요한 변환이 필요합니다.

Trim$ 문자열 버전입니다.문자열에 사용하는 경우 이 옵션을 사용합니다.

재미있는 측면 노트:Application.WorksheetFunction의 버전TrimVBA의 트림 기능과는 다른 기능을 수행합니다.

Left/Left$, Mid/Mid$, Right/Right$에도 변형/문자열 버전이 있습니다.이러한 기능을 반복하거나 자주 사용하는 기능에서는 변형 버전을 사용하면 성능이 크게 향상된다는 것을 알 수 있습니다. 최신 PC의 경우에는 성능이 크지 않지만 추가 단계가 필요하지 않을 경우에는 작업을 수행하지 않는 것이 좋습니다.

trim변수를 매개 변수로 수락하는 동안trim$문자열을 허용합니다.

trim$을 사용하면 성능상의 이점이 몇 가지 있지만(변종에서 변환하지 않기 때문에) 이러한 이점을 깨닫지 못할 가능성이 있습니다.

편집:

나는 객체 브라우저를 확인하여 이것을 알아냈습니다.VBA 편집기에서 F2를 누르면 함수를 검색하고 프레임워크에 더 익숙해질 수 있습니다.

저는 표기법이 VB 시절의 유산이라고 생각합니다. $는 문자열에 사용된 개체/함수를 나타냅니다.

기능적으로, 저는 이해하지만 차이가 없습니다.$버전은 변형에서 문자열로 변환할 필요가 없기 때문에 더 빠르다고 주장됩니다.

언급URL : https://stackoverflow.com/questions/7982220/whats-the-difference-between-trim-and-trim-in-vba