Shembuj të përdorimit të funksioneve VBA. Funksionet e integruara të funksioneve të Oracle Vba excel për të punuar me vargje

  • A.S.C. () - ky funksion ju lejon të ktheni kodin numerik për karakterin e kaluar. Për shembull, ASC("D") do të kthejë 68. Ky funksion është i dobishëm për përcaktimin e shkronjës së ardhshme ose të mëparshme. Zakonisht përdoret në lidhje me funksionin Chr(), i cili kryen operacionin e kundërt - kthen një karakter sipas kodit të tij numerik të transmetuar. Variantet e këtij funksioni janë AscB() Dhe AscW():
    • AscB () - kthen vetëm bajtin e parë të kodit numerik për karakterin.
    • AscW () - kthen kodin për karakterin në kodimin Unicode
  • Chr () - kthen një karakter sipas kodit të tij numerik. Mund të përdoret së bashku me funksionin Asc(), por më shpesh përdoret kur duhet të printoni një karakter shërbimi (për shembull citate - "), sepse Ju nuk mund të futni kuota në kodin VBA (duhet të vendosni dyfish). Ky është funksioni që përdor zakonisht.

    Shpata e zbehtë si shpatë vargu = Chr(34) & "Fjala në thonjëza" & Chr(34)

    Ka opsione për këtë funksion - ChrB() Dhe ChrW(). Punoni në mënyrë të ngjashme me të njëjtat opsione për funksionin Asc().

  • InStr () Dhe InStrRev () - një nga karakteristikat më të njohura. Ju lejon të zbuloni një karakter ose sekuencë karakteresh në trupin e një ndryshoreje vargu dhe të ktheni pozicionin e tyre. Nëse sekuenca nuk gjendet, atëherë 0 kthehet.

    Dim sStr As String sStr = "w" Nëse InStr(1, "Hello, World!", sStr, vbTextCompare) > 0 Pastaj MsgBox "Fjala e kërkimit është e pranishme!" Tjetër MsgBox "Fjala e kërkuar mungon!" Fundi Nëse

    Dallimi midis funksioneve është se InStr() kërkon fjalën e specifikuar nga fillimi i rreshtit dhe InStrRev() nga fundi i rreshtit.

  • Majtas () , E drejta () , mesi () - aftësia për të marrë numrin e karaktereve që specifikoni nga një variabël ekzistues i vargut në të majtë, në të djathtë ose në mes, përkatësisht.
    Dim sStr As String sStr = "Përshëndetje, Botë!" MsgBox Mid(sStr, 1, 5)

    Dim sStr As String sStr = "Përshëndetje, Botë!" MsgBox Mid(sStr, 1, 5)

  • Len () - aftësia për të marrë numrin e karaktereve në një rresht. Përdoret shpesh me sythe, operacione zëvendësuese, etj.
  • LCase () Dhe UCase () - konvertoni vargun përkatësisht në shkronja të vogla dhe të mëdha. Shpesh përdoret për të përgatitur një vlerë për krahasim kur rasti nuk është i rëndësishëm kur krahasohet (mbiemrat, emrat e kompanive, qyteteve, etj.).
  • LSset () Dhe RSset () - aftësia për të mbushur një ndryshore me simbole të një tjetri pa ndryshuar gjatësinë e saj (përkatësisht majtas dhe djathtas). Karakteret shtesë janë prerë dhe hapësirat zëvendësohen për karakteret që mungojnë.
  • LTrim () , RTrim () , Shkurtoje () - aftësia për të hequr hapësirat përkatësisht majtas, djathtas ose majtas dhe djathtas.
  • Zëvendësoni () - aftësia për të zëvendësuar një sekuencë karakteresh në një varg me një tjetër.
    Dim sStr As String sStr = "Përshëndetje, Botë!" MsgBox Replace(sStr, "Hello" , "Bay")

    Dim sStr As String sStr = "Përshëndetje, Botë!" MsgBox Replace(sStr, "Hello", "Bay")

  • Hapësirë () - merrni një varg nga numri i hapësirave që specifikoni;
    Një funksion tjetër i ngjashëm është Spc () , i cili përdoret për të formatuar daljen e konsolës. Ai shumëzon hapësirat bazuar në gjerësinë e vijës së komandës.
  • StrComp () - aftësia për të krahasuar dy vargje.
  • StrConv () - aftësia për të kthyer një varg (në Unicode dhe mbrapa, në shkronja të mëdha dhe të vogla, shkruani shkronjën e parë të fjalëve, etj.):
    Dim sStr As String sStr = "Përshëndetje, Botë!" MsgBox StrConv ("Përshëndetje, botë!", vbUpperCase)

    Dim sStr As String sStr = "Përshëndetje, Botë!" MsgBox StrConv ("Përshëndetje, Botë!", vbUpperCase)

    Konstantet mund të përdoren si parametri i dytë i parametrit:

    • vbUpperCase: Konverton të gjithë karakteret e tekstit në RRASAT E SUPER
    • vbCase: Konverton të gjitha karakteret e tekstit në shkronja të vogla
    • vbProperCase: Shndërron karakterin e parë të çdo fjale në shkronja të mëdha
    • *vbWide: Konverton karakteret e vargut nga një bajt në dy bajt
    • *vbNarrow: Konverton karakteret e vargut nga dy bajt në një bajt
    • **vbKatakana: Konverton personazhet Hiragana në personazhe Katakana
    • **vbHiragana: Konverton personazhet Katakana në personazhe Hiragana
    • ***vbUnicode: Konverton një varg në Unicode duke përdorur faqen e kodit të parazgjedhur të sistemit
    • ***vbFromUnicode: Konverton një varg Unicode në faqen e kodit të parazgjedhur të sistemit
    • * E aplikueshme për lokalizimin e Lindjes së Largët
      ** Zbatohet vetëm për Japoninë
      *** nuk mbështetet në sistemet operative Macintosh

  • StrReverse () - "përmbys" një varg duke i vendosur karakteret e tij në rend të kundërt. Funksioni funksionon vetëm nga Excel 2000 dhe më lart. Një shembull i përdorimit të funksionit, si dhe metoda të tjera për të kthyer një fjalë, mund të gjenden në këtë artikull: Si të ktheni një fjalë?
  • Tab () është një funksion tjetër që përdoret për të formatuar daljen e konsolës. Riprodhon karakteret e skedës në numrin që ju specifikoni. Nëse nuk specifikohet asnjë sasi, thjesht futni një karakter skedë. Ju gjithashtu mund të përdorni konstanten për të futur një karakter tab në një vlerë vargu vbTab.
  • Varg () - ju lejon të merrni një varg me një numër të caktuar karakteresh (që përsëri janë specifikuar nga ju). Zakonisht përdoret për të formatuar daljen në lidhje me funksionin Len().

(http://www.cyberforum.ru/vba/thread638743.html)

opsioni 1

strW= (="KOROTEEV DMITRY VLADIMIROVICH") strB=Replace(Replace(strW, Chr(61), ""), Chr(34), "")

Opsioni

Ju gjithashtu mund të përdorni një grup bajt:

Sub n() Dim Mass() As Byte, n Sa Long, Zam As String, TXT As String TXT = "="" DMITRY VLADIMIROVICH KOROTEEV" Mass = StrConv(TXT, vbFromUnicode) Për n = 0 Në UBound(Mass) Nëse masë(n)<>34 Dhe mesha(n)<>61 Pastaj Zam = Zam + Chr$(Mass(n)) MsgBox Tjetër Zam Fund Sub

Opsioni

Ose filtrimi me mes:

Nën nn() Dim n për sa kohë, TXT si varg, L si varg, Zam si varg TXT = "="" DMITRY VLADIMIROVICH KOROTEEV" Për n = 1 Në Len(TXT) L = Mesi $(TXT, n, 1) Nëse L<>"""" Dhe L<>"=" Pastaj Zam = Zam + L MsgBox Tjetër Zam Fund Sub

Linja 6 mund të zëvendësohet me husky:
Kodi Visual Basic
1
Nëse L pëlqen “[!””=]” Atëherë Zam = Zam + L

Opsioni

Gjithashtu përmes kërkimit të pozicionit dhe rekursionit:

Nën test() Dim n Për aq kohë sa, txt As String txt = "=""DMITRY VLADIMIROVICH KOROTEEV" txt = Ndrysho(txt, "=") txt = Ndrysho(txt, """") MsgBox txt Fundi i nënfunksionit Ndryshimi( txt Si varg, What As String, Opsionale Pos = 1) Dim n Sa kohë nëse Pos<>0 Pastaj n = InStr(Pos, txt, Çfarë) Ndryshim = Mid$(txt, Pos, IIf(n - Pos< 0, Len(txt), n - Pos)) + Change(txt, What, IIf(n = 0, 0, n + 1)) End If End Function

Ju gjithashtu mund të përdorni shprehje të rregullta, por unë nuk i di ato.

Opsioni

Përmes kërkimit dhe rekursionit nga e djathta në të majtë:

Kodi Visual Basic
1 2 3 4 5 6 7 8 Ndrysho funksionin (txt si varg, çfarë si varg, pozitë opsionale për aq kohë sa) Dim n për sa kohë nëse Pos = 0 Pastaj Pos = Len(txt) Nëse Pos<>-1 Pastaj n = InStrRev(txt, Çfarë, Pos) Ndrysho = Ndrysho(txt, Çfarë, IIf(n = 1, -1, n - 1)) + Mid$(txt, n + 1, Pos - n) Fund Nëse Funksioni Fund

Opsioni

Dhe ka gjithashtu Ndarë Dhe Bashkohu

Strb = Bashkohu(Split(Bashkohu(Split(strW, "="), ""), """"), "")

Jashtë temës: Por kjo është për sadistët

Shkronjat e mëdha dhe të vogla

Me ActiveDocument.Range "uppercase.Text = Ucase(.Text) "wwercase.Text = Lcase(.Text) Fund me

ose StrConv() - konvertoni një varg (në Unicode dhe mbrapa, në shkronja të mëdha dhe të vogla, shkruani shkronjën e parë të fjalëve, etj.) - shih më poshtë

Operacionet e vargut

Për të dhënat e llojit String, ekziston vetëm një operacion - bashkimi (bashkimi). Për shembull, rezultati i operacionit të lidhjes së tre vlerave të vargut "Peter" & »» & "Ivanovich" do të jetë vargu "Peter Ivanovich". Është gjithashtu e mundur të përdoret një operator tjetër për operacionin e lidhjes, për shembull: "dhjetë" + "mijë". Dallimi midis këtyre shprehjeve është se në rastin e parë, operandët mund të jenë vlera të çdo lloji (ato thjesht do të konvertohen në vargje), dhe në të dytën, të dy operandët duhet të jenë të tipit String. Ekziston një numër i madh funksionesh për punën me vargje (tabela. Funksionet e punës me vargje).

Tabela "Funksionet për të punuar me vargje"

Funksioni Përshkrim Shembull
Len (rrugë) Përcakton gjatësinë e vargut Nga a=len (“Personazhet”) vijon a=9
majtas (<строка>, <длина>) Ekstrakte nga argumenti<строка>numri i specifikuar i karaktereve në të majtë Majtas ("1234 varg", 4) ="1234"
E drejta(<строка>, <длина>) Ekstrakte nga argumenti<строка>numri i specifikuar i karaktereve në të djathtë Right(" 1234string", 6)="string"
mes(<строка>, <старт> [, <длина>]) Ekstrakte nga argumenti<строка>nënvarg me numrin e caktuar të karaktereve, duke filluar nga pozicioni<старт> Mid("12345678″, 4.3) ="456"
mes(<строка>, <старт>) Një nënvarg nga pozicioni është nxjerrë<старт>deri në fund të rreshtit Mid("12345678″, 4) ="45678"
LTrim(<строка>) Heq hapësirat në fillim të një rreshti LTrim ("print") ="print"
RTrim (<строка>) Heq hapësirat në fund të vargut RTrim ("print") = "print"
shkurto(<строка>) Heq hapësirat në fillim dhe në fund të një vargu Shkurtim ("print") ="print"
InStr([<старт>, ] < строка1>, <строка2> [, <сравнение>]) Kërkon për një nënvarg në një varg. Rikthen pozicionin e shfaqjes së parë të një vargu<строка2>për të rreshtuar<строка1>, <старт>— pozicioni nga i cili fillon kërkimi. Nëse ky argument hiqet, kërkimi fillon nga fillimi i vargut Instr("C:Temp test.mdb", "Test")=9 Nëse vargu i kërkimit nuk është në vargun e specifikuar, funksioni kthen 0
InStrRev ([<старт>, ] <строка1>, <строка2> [, <сравнение>]) Kërkon një nënvarg në një varg, por fillon kërkimin në fund të vargut dhe kthen pozicionin e shfaqjes së fundit të nënvargut. Argument opsional<сравнение>përcakton llojin e krahasimit ndërmjet dy vargjeve
Zëvendëso(<строка>, <строкаПоиск>, <строкаЗамена>) Ju lejon të zëvendësoni një nënvarg në një varg me një tjetër. Ky funksion kërkon për të gjitha dukuritë e argumentit<строкаПоиск>në argument<строка>dhe i zëvendëson me<строкаЗамена>

Për të krahasuar vlerat e vargut, mund të përdorni operatorë të rregullt të krahasimit numerik, sepse kur krahasoni karakteret, kodet e tyre binare krahasohen. Operatori Like përdoret gjithashtu për të krahasuar vlerat e vargut, i cili ju lejon të zbuloni një përputhje të pasaktë, për shembull, shprehja "Input" Ashtu si "Input*" do të vlerësohet në "E vërtetë" sepse vargu që krahasohet fillon me fjalën "Input". Karakteri yll (*) në ​​një varg zëvendëson një numër arbitrar karakteresh. Karaktere të tjera që përpunohen nga operatori Like në vargun e krahasuar:

  • ? – çdo personazh (një);
  • # – një shifër (0–9);
  • [<список>] – një karakter që përputhet me një nga personazhet në listë;
  • [!<список>] – një karakter që nuk përputhet me asnjë nga personazhet në listë.
  • A.S.C.() - ky funksion ju lejon të ktheni kodin numerik për karakterin e kaluar. Për shembull, ASC("D") do të kthejë 68. Ky funksion është i dobishëm për përcaktimin e shkronjës së ardhshme ose të mëparshme. Zakonisht përdoret në lidhje me funksionin Chr(), i cili kryen operacionin e kundërt - kthen një karakter sipas kodit të tij numerik të transmetuar. Variantet e këtij funksioni janë AscB() Dhe AscW():
    • AscB() - kthen vetëm bajtin e parë të kodit numerik për karakterin.
    • AscW() - kthen kodin për karakterin në kodimin Unicode
  • Chr() - kthen një karakter sipas kodit të tij numerik. Mund të përdoret së bashku me funksionin Asc(), por më shpesh përdoret kur duhet të printoni një karakter shërbimi (për shembull citate - "), sepse Ju nuk mund të futni kuota në kodin VBA (duhet të vendosni dyfish). Ky është funksioni që përdor zakonisht.

    Shpata e zbehtë si shpatë vargu = Chr(34) & "Fjala në thonjëza" & Chr(34)

    Ka opsione për këtë funksion - ChrB() Dhe ChrW(). Punoni në mënyrë të ngjashme me të njëjtat opsione për funksionin Asc().

  • InStr() Dhe InStrRev() - një nga karakteristikat më të njohura. Ju lejon të zbuloni një karakter ose sekuencë karakteresh në trupin e një ndryshoreje vargu dhe të ktheni pozicionin e tyre. Nëse sekuenca nuk gjendet, atëherë 0 kthehet.

    Dim sStr As String sStr = "w" Nëse InStr(1, "Hello, World!", sStr, vbTextCompare) > 0 Pastaj MsgBox "Fjala e kërkimit është e pranishme!" Tjetër MsgBox "Fjala e kërkuar mungon!" Fundi Nëse

    Dallimi midis funksioneve është se InStr() kërkon fjalën e specifikuar nga fillimi i rreshtit dhe InStrRev() nga fundi i rreshtit.

  • Majtas() , E drejta() , mesi() - aftësia për të marrë numrin e karaktereve që specifikoni nga një variabël ekzistues i vargut në të majtë, në të djathtë ose në mes, përkatësisht.

    Dim sStr As String sStr = "Përshëndetje, Botë!" MsgBox Mid(sStr, 1, 5)

  • Len() - aftësia për të marrë numrin e karaktereve në një rresht. Përdoret shpesh me sythe, operacione zëvendësuese, etj.
  • LCase() Dhe UCase() - konvertoni vargun përkatësisht në shkronja të vogla dhe të mëdha. Shpesh përdoret për të përgatitur një vlerë për krahasim kur rasti nuk është i rëndësishëm kur krahasohet (mbiemrat, emrat e kompanive, qyteteve, etj.).
  • LSset() Dhe RSset() - aftësia për të mbushur një ndryshore me simbole të një tjetri pa ndryshuar gjatësinë e saj (përkatësisht majtas dhe djathtas). Karakteret shtesë janë prerë dhe hapësirat zëvendësohen për karakteret që mungojnë.
  • LTrim() , RTrim() , Shkurtoje() - aftësia për të hequr hapësirat përkatësisht majtas, djathtas ose majtas dhe djathtas.
  • Zëvendësoni() - aftësia për të zëvendësuar një sekuencë karakteresh në një varg me një tjetër.

    Dim sStr As String sStr = "Përshëndetje, Botë!" MsgBox Replace(sStr, "Hello", "Bay")

  • Hapësirë() - merrni një varg nga numri i hapësirave që specifikoni;
    Një funksion tjetër i ngjashëm është Spc() , i cili përdoret për të formatuar daljen e konsolës. Ai shumëzon hapësirat bazuar në gjerësinë e vijës së komandës.
  • StrComp() - aftësia për të krahasuar dy vargje.
  • StrConv() - aftësia për të kthyer një varg (në Unicode dhe mbrapa, në shkronja të mëdha dhe të vogla, shkruani shkronjën e parë të fjalëve, etj.):

    Dim sStr As String sStr = "Përshëndetje, Botë!" MsgBox StrConv ("Përshëndetje, Botë!", vbUpperCase)

    Konstantet mund të përdoren si parametri i dytë i parametrit:

      • vbUpperCase: Konverton të gjithë karakteret e tekstit në RRASAT E SUPER
      • vbCase: Konverton të gjitha karakteret e tekstit në shkronja të vogla
      • vbProperCase: Shndërron karakterin e parë të çdo fjale në shkronja të mëdha
      • *vbWide: Konverton karakteret e vargut nga një bajt në dy bajt
      • *vbNarrow: Konverton karakteret e vargut nga dy bajt në një bajt
      • **vbKatakana: Konverton personazhet Hiragana në personazhe Katakana
      • **vbHiragana: Konverton personazhet Katakana në personazhe Hiragana
      • ***vbUnicode: Konverton një varg në Unicode duke përdorur faqen e kodit të parazgjedhur të sistemit
      • ***vbFromUnicode: Konverton një varg Unicode në faqen e kodit të parazgjedhur të sistemit

    * i zbatueshëm për lokalizimet e Lindjes së Largët
    ** Zbatohet vetëm për Japoninë
    *** nuk mbështetet në sistemet operative Macintosh

  • StrReverse() - "përmbys" një varg duke i vendosur karakteret e tij në rend të kundërt. Funksioni funksionon vetëm nga Excel 2000 dhe më lart. Një shembull i përdorimit të funksionit, si dhe metoda të tjera për të kthyer një fjalë, mund të gjenden në këtë artikull: Si të ktheni një fjalë?
  • Tab() është një funksion tjetër që përdoret për të formatuar daljen e konsolës. Riprodhon karakteret e skedës në numrin që ju specifikoni. Nëse nuk specifikohet asnjë sasi, thjesht futni një karakter skedë. Ju gjithashtu mund të përdorni konstanten për të futur një karakter tab në një vlerë vargu vbTab.
  • Varg() - ju lejon të merrni një varg me një numër të caktuar karakteresh (që përsëri janë specifikuar nga ju). Zakonisht përdoret për të formatuar daljen në lidhje me funksionin Len().

Tre funksionet e mëposhtme ju lejojnë të punoni me një grup vargjesh

Ndani (<строка> [, <разделитель>]) – konverton një varg në një grup nënvargjesh. Si parazgjedhje, hapësira përdoret si ndarës. Ky funksion është i përshtatshëm për t'u përdorur për të ndarë një fjali në fjalë. Megjithatë, mund të specifikoni çdo kufitar tjetër në këtë funksion. Për shembull, Split(3, "Kjo është një fjali provë") kthen një grup prej tre vlerash vargu: "This", "test", "fjali". Bashkohu (<массивСтрок> [, <разделитель>]) – konverton një grup vargjesh në një varg të vetëm me kufizuesin e specifikuar. Filtro(<массивСтрок>, <строкаПоиск>[, <включение>] [, <сравнение>]) – skanon një grup vlerash vargu dhe kërkon për të gjitha nënvargjet që përputhen me vargun e dhënë. Ky funksion ka katër argumente:<строкаПоиск>– vargu i kërkimit;<включение>– një parametër (vlera Boolean) që specifikon nëse rreshtat e kthyer do të përfshijnë nënvargun e kërkuar ose, anasjelltas, do të kthehen vetëm ato rreshta të vargut që nuk përmbajnë vargun e kërkuar si nënvarg;<сравнение>– parametri që përcakton metodën e krahasimit të vargjeve. Tre funksione të tjera ofrojnë konvertim të vargut: LCase(<строка>) – konverton të gjitha karakteret në një varg në shkronja të vogla, për shembull funksioni LCase("MAIL") kthen vargun "mail"; UCase(<строка>) – konverton të gjitha karakteret e vargut në shkronja të mëdha; StrConv(<строка>, <преобразование>) – kryen disa lloje të transformimeve të vargut në varësi të parametrit të dytë. Ky parametër përshkruhet nga konstante të integruara, për shembull funksioni StrConv("Russia", VbProperCase) kthen vlerën "Rusia".

Dhe dy funksionet e fundit gjenerojnë vargje karakteresh

Hapësirë(<число>) – krijon një varg të përbërë nga numri i caktuar i hapësirave; Vargu (<число>, <символ>) – krijon një varg të përbërë nga numri i karaktereve të specifikuara në argumentin e parë. Vetë simboli specifikohet në argumentin e dytë.

Shembull

Krijoni një program që punon me variabla të vargut. Për ta bërë këtë, krijoni një formë, etiketat e së cilës përmbajnë mesazhet e mëposhtme: 1 emërtim: raportohet gjatësia e vargut të futur në fushën e parë të tekstit (1 rresht); 2 label: konverton të gjitha karakteret e fushës së tretë të tekstit (rreshti i tretë) në shkronja të mëdha; Etiketa e tretë: shfaq përmbajtjen e fushave të tekstit të parë dhe të dytë (rreshtat 1 dhe 2) së bashku.

Teknologjia e ekzekutimit

  • Hapni Word-in, ruani dokumentin dhe shkoni te redaktori VBA.
  • Krijo një formë të ngjashme me foton më poshtë.
  • Shkruani një mbajtës ngjarjesh për butonin OK.
  • Përpiloni programin.
  • Drejtoni formularin.

Private Sub CommandButton1_Click() Dim a Si varg Dim b Si varg Dim c Si varg Dim k Si varg Dim d Si varg Dim n Si numër i plotë a=TextBox1.Text n=Len(a) Label7.Caption=“gjatësia e të parës rreshti është” & n & "karaktere" c=TextBox3.Tekst k=Uras (с) Label8.Caption=k b=TextBox2.Teksti d=a + " " + b Label9.Caption=d Fund Sub

Detyrë

Është e nevojshme që në Excel në qelizën A1 të kryhet një kërkim për fjalët e shkruara të ndara me presje në kolonën A2, dhe rezultati dhe fjalët e gjetura, me numrin e përsëritjeve të tyre (nëse është e mundur) në tekstin e kërkuar, të shkruhen. në një qeli tjetër, të tretë. (do të ishte edhe më mirë nëse ato do të theksoheshin (ose nënvizoheshin) në një farë mënyre në qelizën e parë... në mënyrë që të duken menjëherë. Ja si vendosni fjalët në një grup:

Kodi Visual Basic
1 2 3 4 5 6 Dim m() Si varg Nëse InStr(1, Cells(1, 2).Vlera, ","") > 0 Pastaj m = Ndarje(Replace(Cells(1, 2).Vlera, " ", ""), " ,"") Përndryshe ReDim m(0): m(0) = Shkurtim(Qeliza(1, 2). Vlera) Fundi nëse

Dhe më pas në një lak ju kërkoni të gjitha fjalët (përsëri në një lak, të ndërthurur) Shtuar pas 23 minutash

Kodi Visual Basic
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Opsioni Krahasoni Text Option Explicit Sub QWERT() Dim R, N, K Dim m() As String If InStr(1, Cells(1, 2).Value, ",") > 0 Pastaj m = Split(Replace(Cells( 1, 2).Vlera, " ", ""), ",") Përndryshe ReDim m(0): m(0) = Shkurt (Qelizat(1, 2).Vlera) Fundi Nëse Për R = 0 Në UBound( m) N = 1 Nëse InStr(1, Cells(1, 1).Vlera, m(R)) > 0 Pastaj K = InStr(N, Cells(1, 1).Vlera, m(R)) Bëj NGJYRË K , Len(m(R)) N = K + Len(m(R)) K = InStr(N, qeliza(1, 1).Vlera, m(R)) Loop Ndërsa K > 0 Fundi Nëse R Fundi tjetër Nën Nën NGJYRA(ST, LN) Me qeliza(1, 1). Karakteret (Fillimi:=ST, Gjatësia:=LN). Fonti .Ngjyra = RGB(0, 0, 255) .Bold = Fundi i vërtetë Me Fund Nën

Shtohet pas 15 minutash Dhe kështu do të kërkojë në fillim të fjalës dhe do të zgjedhë të gjithë fjalën

Kodi Visual Basic
1 2 3 4 5 6 7 8 9 10 11 Nën NGJYRA(ST, LN) LN = LN - 1 Bëj LN = LN + 1 cikli ndërsa VBA. Mesa(qeliza(1, 1). Vlera, ST + LN, 1)<>" " Me qeliza(1, 1). Karakteret (Fillimi:=ST, Gjatësia:=LN). Fonti .Ngjyra = RGB(0, 0, 255) . Bold = Fundi i vërtetë me Fundin Nën

Ju mund të bëni një kërkim jo nga fillimi i fjalës, por nga një pjesë e fjalës. — shtoni një cikël tjetër Do-Loop. Zhvendoseni vetëm fillimin (ST) majtas në një hapësirë ​​(http://www.cyberforum.ru/vba/thread567588.html)

Si të: Përputhni një varg me një model (Visual Basic)

Kontrolli i pajtueshmërisë vargjet në shabllon Lloji i të dhënave të vargut (Visual Basic) - Operatori si (Visual Basic) . operandi i majtë i operatorit Like është një shprehje vargu, dhe operandi i djathtë është një varg shablloni Like kthen një vlerë Boolean

Kontrolli i karakterit

? - ndonjë simbol

  • myString përbëhet nga karakteri W i ndjekur nga çdo 2 karaktere

    Dim sMatch Si Boolean = myString Si "W??"

Çdo karakter nga lista dhe diapazoni

Çdo personazh dhe më pas një nga personazhet A, C ose E

    Dim sMatch Si Boolean = myString Ashtu si "?" rast i ndjeshëm

  • myString = num karaktere dhe më pas një karakter nga diapazoni: i, j, k, l, m ose n:

    Dim sMatch Si Boolean = myString Si "num" rast i ndjeshëm

Ashtu si funksionon me të dyja një varg vargu me gjatësi zero (""). ju lejon të kontrolloni nëse një varg është bosh

Një personazh nga lista ose asnjë personazh

  1. Operatori Like përdoret dy herë, dhe rezultatet kombinohen duke përdorur Operatorin Or (Visual Basic) ose Operatorin OrElse (Visual Basic).
  2. Në shabllonin e parë të deklaratës, futni një listë karakteresh në kllapa katrore ().
  3. Në shabllonin e deklaratës së dytë, mos vendosni asgjë në vendndodhjen e kontrollit. Shembull: kontrolloni një numër telefoni shtatëshifror phoneNum, i cili duhet të përmbajë saktësisht tre shifra, i ndjekur nga një hapësirë, një vizë, një pikë ose pa karakter, dhe më pas katër shifra. (tre shifrat e para mund të mos ndahen nga katër të fundit - "pa karakter") Null , ndodh një gabim. Nëse jepet një argument lloji i krahasimit , argument pozita_fillimi është i detyrueshëm. rreshti_1 E detyrueshme. Shprehja e vargut, i cili është në kërkim. rreshti_2 E detyrueshme. Shprehja e vargut që po kërkoni. lloji i krahasimit Fakultative. Përcakton llojin krahasimet e vargjeve. Nëse vlera e argumentit lloji i krahasimit është Null, ndodh një gabim. Nëse argumenti lloji i krahasimit i anashkaluar, lloji i krahasimit përcaktohet nga parametri Kuptimi e mërkurëfrikë. Specifikoni një parametër të vlefshëm LCID (LocaleID) për të përdorur rregullat e krahasimit të specifikuara në cilësimet e gjuhës.

    Opsione

    Argumenti lloji i krahasimit përdor parametrat e mëposhtëm:

    Vlerat e kthimit

    Shënime

    Funksioni InStrB përdoret me të dhëna bajt të përfshira në një varg. Funksioni InStrB kthen pozicionin e bajtit, jo pozicionin e karakterit, të shfaqjes së parë të një vargu brenda një tjetri.

    Shembuj

    Përdorimi i funksionit InStr në një shprehje Sa herë që përdorni shprehje, mund të përdorni funksionin InStr. Për shembull, nëse doni të përcaktoni pozicionin e pikës së parë ( . ) në një fushë që përmban një adresë IP (e quajtur "IPAddress"), mund të përdorni funksionin InStr për ta gjetur:

    InStr(1,,"")

    Funksioni InStr shikon çdo vlerë në fushën "IPAddress" dhe kthen pozicionin e pikës së parë. Prandaj, nëse vlera e oktetit të parë të adresës IP është 10. , funksioni kthen vlerën 3.

    Mund të përdorni funksione të tjera që përdorin rezultatin e funksionit InStr, për të nxjerrë vlerën e oktetit të adresës IP që i paraprin pikës së parë, për shembull:

    Left(,(InStr(1,,."")-1))

    Në këtë shembull funksioni InStr(1,,"") kthen pozicionin e pikës së parë. Si rezultat i zbritjes së 1, përcaktohet numri i karaktereve që i paraprijnë pikës së parë, në këtë rast - 2. Më pas funksioni Majtas nxjerr këto karaktere nga ana e majtë e fushës "IPAddress", duke kthyer vlerën 10.

    Duke përdorur funksionin InStr në kodin e Visual Basic për Aplikacione (VBA).

    SHËNIM. Shembujt e mëposhtëm ilustrojnë përdorimin e modulit Visual Basic për Aplikime (VBA). Për më shumë informacion rreth punës me VBA, zgjidhni Referenca e zhvilluesit në listën rënëse pranë butonit Kërko, dhe më pas futni një ose më shumë fjalë kyçe në fushën e kërkimit.

    Në këtë shembull, funksioni InStr përdoret për të marrë pozicionin e shfaqjes së parë të një vargu brenda një tjetri.

    Dim SearchString, SearchChar, MyPos SearchString ="XXpXXpXXPXXP" " String për të kërkuar brenda. SearchChar = "P" " Kërko për "P". " Një krahasim tekstual duke filluar nga pozicioni 4. Kthen 6. MyPos = Instr( 4, SearchString , Search Char , 1) "Një krahasim binar duke filluar nga pozicioni 1. Kthen 9. MyPos = Instr( 1, SearchString , Search Char , 0) " Krahasimi është binar si parazgjedhje " (argumenti i fundit është hequr). MyPos = Instr( SearchString , Search Char ) " Kthimet 9. MyPos = Instr( 1, SearchString , "W" ) "Kthim 0.

Shpesh rreshtat në një program përmbajnë karaktere të panevojshme të hapësirës së bardhë në fund ose në fillim të rreshtit që duhet të hiqen sepse hapësirat e jashtme drejtuese ose pasuese në një rresht mund të shkaktojnë probleme me programin.

VBA ka tre funksione të dizajnuara për të hequr hapësirat kryesore dhe pasuese nga një varg: LTrim, RTrim, Trim. Mbani në mend se këto funksione në fakt nuk modifikojnë vargun origjinal, por përkundrazi kthejnë një kopje të vargut me hapësirat shtesë të hequra.

Përcaktimi i gjatësisë së vargut

Zakonisht duhet të dini gjatësinë e një vargu kur formatoni mesazhet për një përdorues ose kur formatoni të dhënat e vargut të futura nga një procedurë në një fletë pune Excel ose dokument Word. VBA përdor funksionin për këto qëllime Len. Në listën më poshtë, ka dy hapësira midis kllapave dhe fjalës.



Duhet të keni kujdes me fijet me gjatësi fikse. Për shkak se një varg me gjatësi fikse ka gjithmonë të njëjtën gjatësi, funksioni Len kthen gjithmonë gjatësinë e deklaruar të vargut, pavarësisht nga gjatësia aktuale e vargut. Për shembull, nëse variabli i vargut me gjatësi fikse StrokeName, i cili është 15 karaktere i gjatë, në të vërtetë përmban fjalën "diell", atëherë funksioni Len (Emri i goditjes) do të kthejë rezultatin 15. Në këtë rast, për të zbuluar gjatësinë aktuale të vargut (në rastin tonë - 6), duhet të përdorni kombinimin e mëposhtëm të funksioneve: Len(Trim(StrokeEmri)).

Krahasimi dhe kërkimi i vargjeve

VBA ka dy funksione që ju ndihmojnë të krahasoni vargjet: StrComp, InStr.

Funksioni StrComp

Sintaksë


StrComp(String1, String2[, Krahaso])


String1, String2 - çdo dy shprehje vargu që duhet të krahasohen.

Kur ekzekutohet StrComp, kthehet një nga vlerat e mëposhtme:

  • -1 nëse String1 është më i vogël se String2;
  • 0 nëse String1 dhe String2 janë të barabartë;
  • 1 nëse String1 është më i madh se String2.


Lista e mësipërme krahason dy vargje në modalitetin e tekstit: "Stargu i parazgjedhur" dhe "vargu i parazgjedhur". Rezultati i krahasimit = 1, d.m.th. "Stargu i paracaktuar" është më i madh se "vargu i parazgjedhur".

Eksperimentoni me një sërë vargjesh për të kuptuar më mirë se si funksionon funksioni StrComp.

Funksioni InStr

Funksioni InStr ju lejon të përcaktoni nëse një varg përmban një varg tjetër.

Sintaksë


StrComp(String1, String2[, Krahaso])


String1, String2 - çdo shprehje e vlefshme e vargut. Funksioni kontrollon nëse String1 është i përfshirë në String2.

Krahasimi është një argument opsional që mund të jetë ndonjë nga konstantet e paracaktuara të mëposhtme (nëse hiqet, përdoret cilësimi aktual i Krahasimit të Opsionit):

  • vbBinaryCompare - krahasim binar i dy vargjeve;
  • vbTextCompare - krahasimi i tekstit të dy vargjeve;
  • vbDatabaseCompare - përdoret vetëm në Microsoft Access.

Start - një argument opsional, është një shprehje numerike dhe specifikon pozicionin e karakterit në String1 nga i cili duhet të fillojë kontrolli.


InStr kthen një numër që tregon pozicionin e karakterit në String1 ku u gjet String2. Nëse InStr nuk gjen String2 në String1, atëherë kthehet 0. Nëse String1 (ose String2) është Null, atëherë funksioni gjithashtu kthen Null.



Ndarja e vijës

Ndonjëherë bëhet e nevojshme të ndahet një varg në pjesët përbërëse të tij. Në VBA, tre funksione zgjidhin këtë problem: Majtas, djathtas, mes.

Funksioni i majtë

Sintaksë


Majtas (varg, gjatësi)


Funksioni kthen një kopje të vargut, duke filluar me karakterin e parë dhe duke përfshirë numrin e karaktereve të specifikuara nga Gjatësia. Nëse Gjatësia është një numër më i madh se gjatësia aktuale e vargut, atëherë e gjithë shprehja e vargut kthehet.

Funksioni i duhur

Sintaksë


E djathta (vargu, gjatësia)


String është çdo shprehje e vlefshme e vargut.

Gjatësia - çdo vlerë numerike.


Funksioni kthen një kopje të vargut, duke filluar me karakterin e fundit dhe duke përfshirë, nga e djathta në të majtë, numrin e karaktereve të specifikuara nga Gjatësia. Nëse Gjatësia është një numër më i madh se gjatësia aktuale e vargut, atëherë e gjithë shprehja e vargut kthehet. Funksioni Right kopjon gjithmonë karakteret nga fundi i një vargu në fillim.

Funksioni i mesit

Sintaksë


Mesi (vargu, fillimi, [, Gjatësia])


String është çdo shprehje e vlefshme e vargut.

Gjatësia, Fillimi - çdo vlerë numerike.


Funksioni Mid kthen një kopje të vargut duke filluar nga pozicioni i karakterit në vargun e specifikuar nga argumenti Start. Argumenti opsional Length specifikon numrin e karaktereve për të kopjuar nga String në Mid. Nëse Start përmban një numër më të madh se gjatësia aktuale e vargut, atëherë kthehet një varg bosh.



Karaktere që nuk mund të futen nga tastiera

Shpesh ndodh që ju duhet të vendosni një karakter për të cilin nuk ka asnjë çelës në tastierë (për shembull, një simbol i së drejtës së autorit). Një situatë tjetër është kur duhet të përfshini një karakter të shërbimit VBA në një varg (rasti më i zakonshëm është përfshirja e thonjëzave të dyfishta).

Për të përfshirë karaktere në një varg që nuk mund të futen nga tastiera, ose që kanë kuptim të veçantë për VBA, përdorni funksionin Chr.

Sintaksë


Chr (Charcode)


Charcode - çdo shprehje numerike që është një kod i vlefshëm për grupin e karaktereve të përdorur nga një kompjuter. Duhet të jetë një numër i plotë midis 0 dhe 255.

Funksioni Chr merr një kod të vetëm karakteri si argument dhe kthen një varg që përmban karakterin që korrespondon me atë kod. Ky funksion përdoret në listat e mësipërme për të ushqyer një linjë kur shfaqet një mesazh në ekranin Chr (13).


Për shkak se karakteret e përdorura për të filluar një linjë të re janë kaq të rëndësishme kur formatoni mesazhet dhe të dhënat e tjera të vargut të manipuluara nga rutinat VBA, ka disa konstante të paracaktuara për këto karaktere për të shmangur nevojën për të përdorur funksionin Chr:

  • vbCr është një karakter kthimi i karrocës. Ekuivalente me Chr(13)
  • vbLf - zhvendosja e karakterit me një rresht. Ekuivalente me Chr(10)
  • vbCrLf - kthimi i karrocës + karakteri i zhvendosur me një rresht. Ekuivalente me Chr(13)+ Chr(10)
  • vbTab - karakteri i skedës. ekuivalent Chr(9).

Për të parë listën kod-simbol ju duhet të hapni sistemin e ndihmës VBA dhe sipas kërkesës "Grupe karakteresh" Do të paraqitet tabela përkatëse.



Formatimi i vlerave të të dhënave

Shumë shpesh, për një arsye ose një tjetër, formati i të dhënave në dalje të një programi nuk na përshtatet plotësisht. Ky problem zgjidhet nga funksioni Formati.

Funksioni VBA Format është identik me funksionin Format në Excel dhe përdor të njëjtat mbajtëse të formatimit të të dhënave.

Sintaksë


Formati (Shprehja [, Formati[, Dita e parë e javës [,java e parë e vitit]]])


Shprehje - çdo shprehje e vlefshme (argumenti i kërkuar).

Formati është një shprehje e vlefshme e një formati të emërtuar ose të përcaktuar nga përdoruesi.

Dita e parë e javës është një konstante që specifikon ditën e parë të javës.

Java e parë e vitit - një konstante që përcakton javën e parë të vitit.


Për të përdorur funksionin Format, duhet ose vendosni një format të paracaktuar, ose krijoni një imazh të një formati specifik, duke përdorur karaktere mbajtëse vendesh.


Formatet e emërtuara për përdorim me funksionin Format

Formati i emërtuar Veprimi
Data e Përgjithshme Formaton informacionin e datës dhe orës në një numër datash të njëpasnjëshme duke përdorur cilësimet e formatit të datës dhe orës për këtë kompjuter.
Data e gjatë Formaton vetëm pjesën e datës në një datë vijuese, duke përdorur cilësimet e formatit të datës së gjatë të kompjuterit.
Data e mesme Formaton vetëm pjesën e datës si datë vijuese, duke përdorur cilësimet e formatit të datës mesatare të kompjuterit tuaj.
Data e shkurtër Formaton vetëm pjesën që përmban datën në një datë vijuese, duke përdorur cilësimet e kompjuterit për formatin "Data e shkurtër".
Kohe e gjate Formaton vetëm pjesën e kohës në një datë vijuese, duke përdorur cilësimet e formatit Long Time të kompjuterit.
Koha mesatare Formaton vetëm pjesën e kohës në një datë të njëpasnjëshme, duke përdorur cilësimet e formatit Koha mesatare e kompjuterit.
Kohë të shkurtër Formaton vetëm pjesën e kohës në një datë të njëpasnjëshme, duke përdorur cilësimet e kompjuterit për formatin Short Time.
Numri i Përgjithshëm Formaton një numër në një varg pa ndonjë karakter të veçantë.
Monedha Formaton një numër me një simbol të monedhës, një ndarës të mijërave dhe vetëm dy shifra dhjetore.
E rregulluar Formaton një numër në mënyrë që të ketë gjithmonë të paktën një shifër përpara presjes dhjetore dhe të paktën dy shifra pas saj.
Standard Formaton një numër me ndarës të mijësheve në mënyrë që të ketë të paktën një shifër përpara ndarësit dhjetor dhe të paktën dy shifra pas saj.
Përqindje Formaton një numër si përqindje duke e shumëzuar me 100 dhe duke shtuar një simbol përqindjeje.
Shkencor Formaton një numër në format të rregullt eksponencial.
Po/Jo Vargu "Po" kthehet nëse numri i formatuar është jo zero, përndryshe - "Jo".
E vërtetë/E gabuar Vargu "True" kthehet nëse numri i formatuar nuk është zero, përndryshe - "False".
Ndezur fikur Vargu "On" kthehet nëse numri i formatuar është jo zero, përndryshe - "Off".

Vendmbajtës për krijimin e formateve të personalizuara

Karakteri i mbajtësit të vendit Veprimi (duke përdorur numrin 1234.45 si shembull)
0 Një karakter numerik që shfaq një shifër nëse njëri është në atë pozicion, ose 0 nëse nuk është. Ju mund të përdorni simbolin 0 për të shfaqur zerat kryesore për numrat e plotë dhe zerat pasuese për numrat dhjetorë: 00000.000 shfaq 01234.450
# Një simbol numerik shfaq një shifër nëse ka një në këtë pozicion, përndryshe nuk shfaq asgjë. Karakteri # mbushës është ekuivalent me 0, me përjashtim të faktit se zero kryesore dhe pasuese nuk shfaqen: #####.### shfaq 1234.45
$ Shfaq shenjën e dollarit: $###,###.00 shfaq 1,234,45 $
. Karakteri i mbajtësit dhjetor, shfaq pikën dhjetore në pozicionin e caktuar në vargun e karaktereve me 0 vende mbajtëse: #.##.## shfaq 1234.45
% Simboli i përqindjes, shumëzon vlerën me 100 dhe shton një shenjë përqindjeje në pozicionin e treguar nga mbajtësit e vendeve 0:#.#0.00% shfaq numrin 0.12345 si 12.35% (rrumbullakimi ndodh)
, Ndarës i mijëra, shton presje si ndarës të mijërave në vargjet 0 dhe # mbajtëse vendesh: ###,###,###.00 shfaq 1,234.45
E-e- Shfaq vlerën në format eksponencial me një eksponent vetëm për vlera negative: #.####E-00 shfaq 1.23445E03
E+ e+ Shfaq vlerën në format eksponencial me një eksponent për vlerat negative dhe pozitive: #.####E+00 shfaq 1.23445E+03
/ Ndan ditën, muajin dhe vitin për formatimin e vlerave të datës.
m Përcakton mënyrën e shfaqjes së muajve në data: m shfaq 1, mm - 01, mmm - Janar, mmmm - Janar
d Përcakton se si të shfaqen ditët në data: d shfaq 1, dd - 01, ddd - Diell, dddd - E diel
y Shfaq ditën e vitit si një numër nga 1 në 366
yy Përcakton mënyrën e shfaqjes së viteve në data: yy - 66, yyyy - 1966
q Shfaq tremujorin e vitit si numër nga 1 në 4
w Shfaq ditën e javës si numër (1 - e diel)
ww Shfaq javën e vitit si numër nga 1 në 54
: Ndan orët, minutat dhe sekondat në vlerat e formatit kohor: hh:mm:ss - 01:01:01, h:m:s - 1:1:1
h Përcakton mënyrën e shfaqjes së orëve: hh - 01, h - 1
m Përcakton mënyrën e shfaqjes së minutave: mm - 01, m - 1
s Përcakton mënyrën e shfaqjes së sekondave: ss - 01, s - 1
AM/PM Shfaq kohën në formatin 12-orësh me të shtuara AM ose PM
@ Një mbajtëse e karaktereve që shfaq një hapësirë ​​nëse nuk ka karakter që përputhet në vargun e formatuar.
Shfaq të gjitha karakteret me shkronja të mëdha.
> Shfaq të gjitha karakteret me shkronja të vogla.
Chr

Funksioni Chr

Chr(Charcode)
Chr$(Charcode)
ChrB (Charcode)
ChrW (CharCode)

Funksioni Chr(Ch arakte r) ju lejon të merrni një karakter sipas vlerës së kodit numerik të tij ANSI ose Unicode

Vlera e kthimit

Funksione Chr, ChrB, ChrW ktheni një vlerë të nëntipit String të tipit Variant që përmban karakterin që korrespondon me kodin e specifikuar të karaktereve ANSI ose Unicode. Funksione Chr$, ChrB$, ChrW$ ktheni një vlerë të llojit String në përputhje me rrethanat

shënim

Chr Dhe Chr$ ktheni një karakter me kodimin e tij ANSI
ChrB Dhe ChrB$ kthimi një bajt linjë
ChrW kthen një karakter Unicode, megjithatë në sistemet jo Unicode sjellja e tij është e ngjashme Chr
Përdorni në parametër CharCode vlerat më të mëdha se 255 gjenerojnë gabime në kohën e ekzekutimit 5: Thirrje ose argument i procedurës së pavlefshme ose 6: tejmbushje

Opsione CharCode Argumenti i kërkuar është një vlerë e gjatë që specifikon karakterin. Zakonisht funksioni Chr përdoret kur futen karaktere që nuk mund të printohen në vargjet e tekstit (kthimi i transportit, furnizimi i rreshtit, tabelatori, etj.). Kodet 0-31 korrespondojnë me karakteret standarde të kontrollit ASCII. Për shembull, Chr(10) kthen karakterin e linjës së re Shembull Dim retval retval = Chr(65) Debug.Print retval " kthen A Kategoria

Në seksionin mbi pyetjen Njerëz, ju lutemi shpjegoni në detaje se çfarë do të thotë funksioni ord(x) dhe chr(x) i tij i kundërt në Pascal? dhënë nga autori Nick Brown pergjigja me e mire eshte Ekziston një tabelë e veçantë e karaktereve (kodi i zgjeruar ASCII, kur secili karakter ka një vlerë numerike, në total ka 255 vlera në tabelë, domethënë, çdo karakteri i caktohet një numër,
chr(0..254) konverton një numër (një bajt) në karakterin të cilit i përket ky numër, për shembull chr(71) rezultati do të jetë shkronja "G", gjithashtu duke shtypur butonat në tastierë prodhohet kodi i tij, ky është pikërisht kodi kur vendoset në këtë operator dhe do të japë rezultatin se cili tast është shtypur, ky jam unë për shembull. Por operatori ORD(x) e bën këtë proces në rend të kundërt.
Ne vendosim karakterin e vlerës dhe marrim një numër nga 0 në 254 (një bajt)
për shembull ORD("G") do të na japë rezultatin 71 (në format dhjetor)
Kaq duket!!!

Përgjigje nga Katyonachik[i ri]
Është e thjeshtë, me të vërtetë)
Ord ("X") - do të kthejë kodin e karakterit X nga tabela ASKII.
Rezultati i funksionit të kundërt do të jetë një simbol që korrespondon me kodin e futur (nga i cili është marrë funksioni) nga e njëjta tabelë ASCII.


Përgjigje nga Juri[guru]
Këto nuk janë funksione reciproke!
Funksioni Ord kthen vlerën rendore të një tipi të numëruar.
Numërimi fillon nga zero.
Për llojin e bajtit, funksioni do të kthejë vlerën aktuale - numri rendor përkon me vlerën.
Për llojin char, funksioni do të kthejë numrin serial të karakterit, i cili (numri është i rastësishëm) përkon me kodin ASCII.
Funksioni chr kthen karakterin me kodin e dhënë ASCII.
Përfundim: Thjesht, për sa i përket vlerave simbolike, ato funksionojnë vërtet si anasjellta e njëra-tjetrës...
Prandaj, mund të themi se funksioni ord është inversi i funksionit chr, por jo anasjelltas - funksioni chr nuk është anasjelltas i funksionit ord, pasi qëllimi i funksionit ord nuk është i kufizuar në punën me simbole!