Prevenirea VBA Sensitive Case - Option Compare Text

În timp ce lucrați în VBA, trebuie adesea să comparați șirurile. În mod implicit, VBA este sensibil la majuscule și minuscule, deci dacă comparați două texte identice și unul dintre ele este cu litere mari și altul cu litere mici, VBA le va considera ca fiind texte diferite. În acest tutorial, veți vedea cum să preveniți ca VBA să fie sensibil la majuscule.

VBA nu face sensibilitate la majuscule

Pentru a face VBA nesensibil la majuscule, trebuie să puneți Opțiune Comparați textul la începutul modulului. În primul rând, ne vom uita la comportamentul standard VBA fără această opțiune setată. Acesta este codul:

123456789 Dacă Sheet1.Range ("A1"). Value = Sheet1.Range ("B1"). Value AtunciMsgBox „Două texte sunt aceleași”AltfelMsgBox „Două texte sunt diferite”End If

În exemplu, vrem să comparăm șirurile din A1 și B1. Dacă șirurile sunt egale, vom returna caseta de mesaj cu mesajul „Două texte sunt aceleași”. Dacă nu sunt egali, vom returna mesajul „Două texte sunt diferite.

Imaginea 1. Compararea șirurilor fără opțiunea Comparare text

După cum puteți vedea în imagine, ambele texte sunt aceleași, dar primul este cu litere mari, în timp ce al doilea este cu litere mici. Din acest motiv, VBA le consideră diferite și a returnat acest mesaj.

1234567891011 Opțiune Comparați textulPublic Sub CaseSensitiveTest ()Dacă Sheet1.Range ("A1"). Value = Sheet1.Range ("B1"). Value AtunciMsgBox „Două texte sunt aceleași”AltfelMsgBox „Două texte sunt diferite”End IfSfârșitul Sub

Acum vom adăuga opțiunea Comparare text la începutul modulului și vom vedea diferența. Iată codul. Executăm codul pe același exemplu:

Imaginea 2. Compararea șirurilor cu opțiunea Comparare text

Acum, când opțiunea Compară textul este setată, VBA devine nesensibilă la majuscule și consideră aceste două texte la fel.

Compararea textului

Dacă nu declarați Opțiune Comparați textul, puteți converti majuscule și minuscule pentru a face comparații fără majuscule. Acest lucru este posibil prin funcția UCase, LCase sau StrConv. Puteți afla mai multe despre acest lucru aici: VBA Upper, Lower, and Proper Case - Case Functions

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave