Beispiele für die Verwendung von VBA-Funktionen. Integrierte Funktionen von Oracle Vba Excel-Funktionen zum Arbeiten mit Zeichenfolgen

  • A.S.C. () – Mit dieser Funktion können Sie den numerischen Code für das übergebene Zeichen zurückgeben. Beispielsweise gibt ASC("D") 68 zurück. Diese Funktion ist nützlich, um den nächsten oder vorherigen Buchstaben zu bestimmen. Es wird normalerweise in Verbindung mit der Funktion verwendet Chr(), das die umgekehrte Operation ausführt – gibt ein Zeichen gemäß seinem übertragenen numerischen Code zurück. Varianten dieser Funktion sind AscB() Und AscW():
    • AscB () – gibt nur das erste Byte des numerischen Codes für das Zeichen zurück.
    • AscW () – gibt den Code für das Zeichen in Unicode-Kodierung zurück
  • Chr () - Gibt ein Zeichen anhand seines numerischen Codes zurück. Kann in Verbindung mit der Funktion Asc() verwendet werden, wird jedoch am häufigsten verwendet, wenn Sie ein Dienstzeichen drucken müssen (zum Beispiel Anführungszeichen - "), Weil Sie können nicht einfach Anführungszeichen in VBA-Code eingeben (Sie müssen das Doppelte eingeben). Dies ist die Funktion, die ich normalerweise verwende.

    Dim sWord As String sWord = Chr(34) & "Wort in Anführungszeichen" & Chr(34)

    Für diese Funktion gibt es Optionen: ChrB() Und ChrW(). Arbeiten Sie ähnlich mit den gleichen Optionen für die Funktion Asc().

  • InStr () Und InStrRev () - eine der beliebtesten Funktionen. Ermöglicht Ihnen, ein Zeichen oder eine Zeichenfolge im Hauptteil einer Zeichenfolgenvariablen zu erkennen und deren Position zurückzugeben. Wenn die Sequenz nicht gefunden wird, wird 0 zurückgegeben.

    Dim sStr As String sStr = „w“ If InStr(1, „Hello, World!“, sStr, vbTextCompare) > 0 Then MsgBox „Das Suchwort ist vorhanden!“ Else MsgBox „Das gesuchte Wort fehlt!“ Ende wenn

    Der Unterschied zwischen den Funktionen besteht darin, dass InStr() vom Anfang der Zeile nach dem angegebenen Wort sucht und InStrRev() vom Ende der Zeile

  • Links () , Rechts () , Mitte () – die Möglichkeit, die von Ihnen angegebene Anzahl von Zeichen aus einer vorhandenen Zeichenfolgenvariablen links, rechts oder in der Mitte zu übernehmen.
    Dim sStr As String sStr = „Hello, World!“ MsgBox Mid(sStr, 1, 5)

    Dim sStr As String sStr = „Hello, World!“ MsgBox Mid(sStr, 1, 5)

  • Len () - Möglichkeit, die Anzahl der Zeichen in einer Zeile zu ermitteln. Wird häufig mit Schleifen, Ersetzungsoperationen usw. verwendet.
  • LCase () Und UCase () - Wandeln Sie die Zeichenfolge in Klein- bzw. Großbuchstaben um. Wird häufig verwendet, um einen Vergleichswert vorzubereiten, wenn die Groß-/Kleinschreibung beim Vergleich keine Rolle spielt (Nachnamen, Namen von Firmen, Städten usw.).
  • LSet () Und RSet () - die Fähigkeit, eine Variable mit Symbolen einer anderen zu füllen, ohne ihre Länge zu ändern (links bzw. rechts). Überschüssige Zeichen werden abgeschnitten und fehlende Zeichen durch Leerzeichen ersetzt.
  • LTrim () , RTrim () , Trimmen () - die Möglichkeit, Leerzeichen jeweils links, rechts oder sowohl links als auch rechts zu entfernen.
  • Ersetzen () - die Möglichkeit, eine Zeichenfolge in einer Zeichenfolge durch eine andere zu ersetzen.
    Dim sStr As String sStr = „Hello, World!“ MsgBox Replacement(sStr, „Hallo“, „Bay“)

    Dim sStr As String sStr = „Hello, World!“ MsgBox Replacement(sStr, „Hallo“, „Bay“)

  • Raum () - Holen Sie sich eine Zeichenfolge aus der von Ihnen angegebenen Anzahl von Leerzeichen.
    Eine weitere ähnliche Funktion ist Spc () , das zum Formatieren der Konsolenausgabe verwendet wird. Es multipliziert Leerzeichen basierend auf der Breite der Befehlszeile.
  • StrComp () - Möglichkeit, zwei Zeichenfolgen zu vergleichen.
  • StrConv () - Möglichkeit, eine Zeichenfolge zu konvertieren (zu Unicode und zurück, zu Groß- und Kleinschreibung, Großschreibung des ersten Buchstabens von Wörtern usw.):
    Dim sStr As String sStr = „Hello, World!“ MsgBox StrConv("Hallo Welt!", vbUpperCase)

    Dim sStr As String sStr = „Hello, World!“ MsgBox StrConv("Hallo Welt!", vbUpperCase)

    Als zweiter Parameterparameter können Konstanten verwendet werden:

    • vbUpperCase: Wandelt alle Textzeichen in GROSSBUCHSTABEN um
    • vbLowerCase: Wandelt alle Textzeichen in Kleinbuchstaben um
    • vbProperCase: Wandelt das erste Zeichen jedes Wortes in Großbuchstaben um
    • *vbWide: Konvertiert Zeichenfolgenzeichen von Einzelbyte in Doppelbyte
    • *vbNarrow: Konvertiert Zeichenfolgenzeichen von Doppelbyte in Einzelbyte
    • **vbKatakana: Konvertiert Hiragana-Zeichen in Katakana-Zeichen
    • **vbHiragana: Konvertiert Katakana-Zeichen in Hiragana-Zeichen
    • ***vbUnicode: Konvertiert eine Zeichenfolge mithilfe der Standardcodepage des Systems in Unicode
    • ***vbFromUnicode: Konvertiert eine Unicode-Zeichenfolge in die Standardcodepage des Systems
    • * gilt für die Lokalisierung des Fernen Ostens
      ** Gilt nur für Japan
      *** wird auf Macintosh-Betriebssystemen nicht unterstützt

  • StrReverse () - „Umkehren“ einer Zeichenfolge, indem die Zeichen in umgekehrter Reihenfolge platziert werden. Die Funktion funktioniert nur ab Excel 2000 und höher. Ein Beispiel für die Verwendung der Funktion sowie andere Methoden zum Umwandeln eines Wortes finden Sie in diesem Artikel: Wie dreht man ein Wort um?
  • Tab () ist eine weitere Funktion, die zum Formatieren der Konsolenausgabe verwendet wird. Reproduziert Tabulatorzeichen in der von Ihnen angegebenen Anzahl. Wenn keine Menge angegeben ist, wird einfach ein Tabulatorzeichen eingefügt. Sie können die Konstante auch verwenden, um ein Tabulatorzeichen in einen Zeichenfolgenwert einzufügen vbTab.
  • Zeichenfolge () - Ermöglicht Ihnen, eine Zeichenfolge mit einer bestimmten Anzahl von Zeichen abzurufen (die wiederum von Ihnen angegeben werden). Wird normalerweise zum Formatieren der Ausgabe in Verbindung mit der Funktion verwendet Len().

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

Variante 1

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

Möglichkeit

Sie können auch ein Byte-Array verwenden:

Sub n() Dim Mass() As Byte, n As Long, Zam As String, TXT As String TXT = "="" DMITRY VLADIMIROVICH KOROTEEV" Mass = StrConv(TXT, vbFromUnicode) For n = 0 To UBound(Mass) If Masse(n)<>34 und Masse(n)<>61 Then Zam = Zam + Chr$(Mass(n)) Next MsgBox Zam End Sub

Möglichkeit

Oder Filtern mit mid:

Sub nn() Dim n As Long, TXT As String, L As String, Zam As String TXT = "="" DMITRY VLADIMIROVICH KOROTEEV" For n = 1 To Len(TXT) L = Mid$(TXT, n, 1) Wenn L<>"""" Und ich<>"=" Then Zam = Zam + L Next MsgBox Zam End Sub

Zeile 6 kann durch husky ersetzt werden:
Visual Basic-Code
1
Wenn L „[!““=]“ mag, dann ist Zam = Zam + L

Möglichkeit

Auch durch Positionssuche und Rekursion:

Sub test() Dim n As Long, txt As String txt = "=""DMITRY VLADIMIROVICH KOROTEEV" txt = Change(txt, "=") txt = Change(txt, """") MsgBox txt End Sub Function Change( txt als String, was als String, optional Pos = 1) Dim n As Long If Pos<>0 Dann n = InStr(Pos, txt, What) Change = Mid$(txt, Pos, IIf(n - Pos< 0, Len(txt), n - Pos)) + Change(txt, What, IIf(n = 0, 0, n + 1)) End If End Function

Sie können auch reguläre Ausdrücke verwenden, aber ich kenne sie nicht.

Möglichkeit

Durch Suche von rechts nach links und Rekursion:

Visual Basic-Code
1 2 3 4 5 6 7 8 Funktion Change(txt As String, What As String, Optional Pos As Long) Dim n As Long If Pos = 0 Then Pos = Len(txt) If Pos<>-1 Then n = InStrRev(txt, What, Pos) Change = Change(txt, What, IIf(n = 1, -1, n - 1)) + Mid$(txt, n + 1, Pos - n) End Wenn Endfunktion

Möglichkeit

Und das gibt es auch Teilt Und Verbinden

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

Off-Topic: Aber das ist etwas für Sadisten

Groß- und Kleinschreibung

Mit ActiveDocument.Range "uppercase.Text = Ucase(.Text) "lowercase.Text = Lcase(.Text) End With

oder StrConv() – Konvertieren einer Zeichenfolge (in Unicode und zurück, in Groß- und Kleinschreibung, Großschreibung des ersten Buchstabens von Wörtern usw.) – siehe unten

String-Operationen

Für Daten vom Typ String gibt es nur eine Operation – die Verkettung (Vereinigung). Das Ergebnis der Verkettungsoperation der drei Zeichenfolgenwerte „Peter“ & » » & „Ivanovich“ ist beispielsweise die Zeichenfolge „Peter Ivanovich“. Es ist auch möglich, einen anderen Operator für die Verkettungsoperation zu verwenden, zum Beispiel: „zehn“ + „tausend“. Der Unterschied zwischen diesen Ausdrücken besteht darin, dass im ersten Fall die Operanden Werte eines beliebigen Typs sein können (sie werden einfach in Zeichenfolgen umgewandelt), und im zweiten Fall müssen beide Operanden vom Typ String sein. Es gibt eine Vielzahl von Funktionen zum Arbeiten mit Strings (Tabelle. Funktionen zum Arbeiten mit Strings).

Tabelle „Funktionen zum Arbeiten mit Strings“

Funktion Beschreibung Beispiel
Len(str) Bestimmt die Länge der Zeichenfolge Aus a=len(„Zeichen“) folgt a=9
Links (<строка>, <длина>) Auszüge aus der Argumentation<строка>angegebene Anzahl von Zeichen auf der linken Seite Left("1234string", 4) ="1234″
Rechts(<строка>, <длина>) Auszüge aus der Argumentation<строка>angegebene Anzahl Zeichen nach rechts Right(" 1234string", 6) ="string"
Mitte(<строка>, <старт> [, <длина>]) Auszüge aus der Argumentation<строка>Teilzeichenfolge mit der angegebenen Anzahl von Zeichen, beginnend an der Position<старт> Mid("12345678″, 4.3) ="456"
Mitte(<строка>, <старт>) Ein Teilstring aus der Position wird extrahiert<старт>bis zum Ende der Zeile Mitte("12345678″, 4)="45678"
LTrim(<строка>) Entfernt Leerzeichen am Anfang einer Zeile LTrim("print") ="print"
RTrim (<строка>) Entfernt Leerzeichen am Ende einer Zeichenfolge RTrim("print") = "print"
Trimmen (<строка>) Entfernt Leerzeichen am Anfang und Ende einer Zeichenfolge Trim("print") ="print"
InStr([<старт>, ] < строка1>, <строка2> [, <сравнение>]) Sucht nach einem Teilstring in einem String. Gibt die Position des ersten Vorkommens einer Zeichenfolge zurück<строка2>linieren<строка1>, <старт>— die Position, an der die Suche beginnt. Wenn dieses Argument weggelassen wird, beginnt die Suche am Anfang der Zeichenfolge Instr("C:Temp test.mdb", "Test")=9 Wenn die Suchzeichenfolge nicht in der angegebenen Zeichenfolge enthalten ist, gibt die Funktion 0 zurück
InStrRev([<старт>, ] <строка1>, <строка2> [, <сравнение>]) Sucht nach einem Teilstring in einem String, startet die Suche jedoch am Ende des Strings und gibt die Position des letzten Vorkommens des Teilstrings zurück. Optionales Argument<сравнение>definiert die Art des Vergleichs zwischen zwei Zeichenfolgen
Ersetzen (<строка>, <строкаПоиск>, <строкаЗамена>) Ermöglicht Ihnen, einen Teilstring in einem String durch einen anderen zu ersetzen. Diese Funktion sucht nach allen Vorkommen des Arguments<строкаПоиск>im Streit<строка>und ersetzt sie durch<строкаЗамена>

Zum Vergleichen von Zeichenfolgenwerten können Sie reguläre numerische Vergleichsoperatoren verwenden, da beim Vergleich von Zeichen deren Binärcodes verglichen werden. Der Like-Operator wird auch zum Vergleichen von Zeichenfolgenwerten verwendet, wodurch Sie eine ungenaue Übereinstimmung erkennen können. Beispielsweise wird der Ausdruck „Input“ wie „Input*“ als „True“ ausgewertet, da die verglichene Zeichenfolge mit dem Wort „Input“ beginnt. Das Sternchen (*) in einer Zeichenfolge ersetzt eine beliebige Anzahl von Zeichen. Weitere Zeichen, die vom Like-Operator in der verglichenen Zeichenfolge verarbeitet werden:

  • ? – irgendein Zeichen (eins);
  • # – eine Ziffer (0–9);
  • [<список>] – ein Zeichen, das mit einem der Zeichen in der Liste übereinstimmt;
  • [!<список>] – ein Zeichen, das keinem der Zeichen in der Liste entspricht.
  • A.S.C.() – Mit dieser Funktion können Sie den numerischen Code für das übergebene Zeichen zurückgeben. Beispielsweise gibt ASC("D") 68 zurück. Diese Funktion ist nützlich, um den nächsten oder vorherigen Buchstaben zu bestimmen. Es wird normalerweise in Verbindung mit der Funktion verwendet Chr(), das die umgekehrte Operation ausführt – gibt ein Zeichen gemäß seinem übertragenen numerischen Code zurück. Varianten dieser Funktion sind AscB() Und AscW():
    • AscB() – gibt nur das erste Byte des numerischen Codes für das Zeichen zurück.
    • AscW() – gibt den Code für das Zeichen in Unicode-Kodierung zurück
  • Chr() - Gibt ein Zeichen anhand seines numerischen Codes zurück. Kann in Verbindung mit der Funktion Asc() verwendet werden, wird jedoch am häufigsten verwendet, wenn Sie ein Dienstzeichen drucken müssen (zum Beispiel Anführungszeichen - "), Weil Sie können nicht einfach Anführungszeichen in VBA-Code eingeben (Sie müssen das Doppelte eingeben). Dies ist die Funktion, die ich normalerweise verwende.

    Dim sWord As String sWord = Chr(34) & "Wort in Anführungszeichen" & Chr(34)

    Für diese Funktion gibt es Optionen: ChrB() Und ChrW(). Arbeiten Sie ähnlich mit den gleichen Optionen für die Funktion Asc().

  • InStr() Und InStrRev() - eine der beliebtesten Funktionen. Ermöglicht Ihnen, ein Zeichen oder eine Zeichenfolge im Hauptteil einer Zeichenfolgenvariablen zu erkennen und deren Position zurückzugeben. Wenn die Sequenz nicht gefunden wird, wird 0 zurückgegeben.

    Dim sStr As String sStr = „w“ If InStr(1, „Hello, World!“, sStr, vbTextCompare) > 0 Then MsgBox „Das Suchwort ist vorhanden!“ Else MsgBox „Das gesuchte Wort fehlt!“ Ende wenn

    Der Unterschied zwischen den Funktionen besteht darin, dass InStr() vom Anfang der Zeile nach dem angegebenen Wort sucht und InStrRev() vom Ende der Zeile

  • Links() , Rechts() , Mitte() – die Möglichkeit, die von Ihnen angegebene Anzahl von Zeichen aus einer vorhandenen Zeichenfolgenvariablen links, rechts oder in der Mitte zu übernehmen.

    Dim sStr As String sStr = „Hello, World!“ MsgBox Mid(sStr, 1, 5)

  • Len() - Möglichkeit, die Anzahl der Zeichen in einer Zeile zu ermitteln. Wird häufig mit Schleifen, Ersetzungsoperationen usw. verwendet.
  • LCase() Und UCase() - Wandeln Sie die Zeichenfolge in Klein- bzw. Großbuchstaben um. Wird häufig verwendet, um einen Vergleichswert vorzubereiten, wenn die Groß-/Kleinschreibung beim Vergleich keine Rolle spielt (Nachnamen, Namen von Firmen, Städten usw.).
  • LSet() Und RSet() - die Fähigkeit, eine Variable mit Symbolen einer anderen zu füllen, ohne ihre Länge zu ändern (links bzw. rechts). Überschüssige Zeichen werden abgeschnitten und fehlende Zeichen durch Leerzeichen ersetzt.
  • LTrim() , RTrim() , Trimmen() - die Möglichkeit, Leerzeichen jeweils links, rechts oder sowohl links als auch rechts zu entfernen.
  • Ersetzen() - die Möglichkeit, eine Zeichenfolge in einer Zeichenfolge durch eine andere zu ersetzen.

    Dim sStr As String sStr = „Hello, World!“ MsgBox Replacement(sStr, „Hallo“, „Bay“)

  • Raum() - Holen Sie sich eine Zeichenfolge aus der von Ihnen angegebenen Anzahl von Leerzeichen.
    Eine weitere ähnliche Funktion ist Spc() , das zum Formatieren der Konsolenausgabe verwendet wird. Es multipliziert Leerzeichen basierend auf der Breite der Befehlszeile.
  • StrComp() - Möglichkeit, zwei Zeichenfolgen zu vergleichen.
  • StrConv() - Möglichkeit, eine Zeichenfolge zu konvertieren (zu Unicode und zurück, zu Groß- und Kleinschreibung, Großschreibung des ersten Buchstabens von Wörtern usw.):

    Dim sStr As String sStr = „Hello, World!“ MsgBox StrConv("Hallo Welt!", vbUpperCase)

    Als zweiter Parameterparameter können Konstanten verwendet werden:

      • vbUpperCase: Wandelt alle Textzeichen in GROSSBUCHSTABEN um
      • vbLowerCase: Wandelt alle Textzeichen in Kleinbuchstaben um
      • vbProperCase: Wandelt das erste Zeichen jedes Wortes in Großbuchstaben um
      • *vbWide: Konvertiert Zeichenfolgenzeichen von Einzelbyte in Doppelbyte
      • *vbNarrow: Konvertiert Zeichenfolgenzeichen von Doppelbyte in Einzelbyte
      • **vbKatakana: Konvertiert Hiragana-Zeichen in Katakana-Zeichen
      • **vbHiragana: Konvertiert Katakana-Zeichen in Hiragana-Zeichen
      • ***vbUnicode: Konvertiert eine Zeichenfolge mithilfe der Standardcodepage des Systems in Unicode
      • ***vbFromUnicode: Konvertiert eine Unicode-Zeichenfolge in die Standardcodepage des Systems

    * gilt für Fernost-Lokalisierungen
    ** Gilt nur für Japan
    *** wird auf Macintosh-Betriebssystemen nicht unterstützt

  • StrReverse() - „Umkehren“ einer Zeichenfolge, indem die Zeichen in umgekehrter Reihenfolge platziert werden. Die Funktion funktioniert nur ab Excel 2000 und höher. Ein Beispiel für die Verwendung der Funktion sowie andere Methoden zum Umwandeln eines Wortes finden Sie in diesem Artikel: Wie dreht man ein Wort um?
  • Tab() ist eine weitere Funktion, die zum Formatieren der Konsolenausgabe verwendet wird. Reproduziert Tabulatorzeichen in der von Ihnen angegebenen Anzahl. Wenn keine Menge angegeben ist, wird einfach ein Tabulatorzeichen eingefügt. Sie können die Konstante auch verwenden, um ein Tabulatorzeichen in einen Zeichenfolgenwert einzufügen vbTab.
  • Zeichenfolge() - Ermöglicht Ihnen, eine Zeichenfolge mit einer bestimmten Anzahl von Zeichen abzurufen (die wiederum von Ihnen angegeben werden). Wird normalerweise zum Formatieren der Ausgabe in Verbindung mit der Funktion verwendet Len().

Mit den folgenden drei Funktionen können Sie mit einem Array von Zeichenfolgen arbeiten

Teilt (<строка> [, <разделитель>]) – wandelt einen String in ein Array von Teilstrings um. Als Trennzeichen wird standardmäßig ein Leerzeichen verwendet. Diese Funktion eignet sich zum Aufteilen eines Satzes in Wörter. Sie können in dieser Funktion jedoch jedes andere Trennzeichen angeben. Beispielsweise gibt Split(3, „Dies ist ein Testsatz“) ein Array mit drei Zeichenfolgewerten zurück: „Dies“, „Test“, „Satz“. Verbinden (<массивСтрок> [, <разделитель>]) – konvertiert ein Array von Zeichenfolgen in eine einzelne Zeichenfolge mit dem angegebenen Trennzeichen. Filter(<массивСтрок>, <строкаПоиск>[, <включение>] [, <сравнение>]) – scannt ein Array von Zeichenfolgenwerten und sucht nach allen Teilzeichenfolgen, die mit der angegebenen Zeichenfolge übereinstimmen. Diese Funktion hat vier Argumente:<строкаПоиск>- Suchbegriff;<включение>– ein Parameter (boolescher Wert), der angibt, ob die zurückgegebenen Zeilen die gesuchte Teilzeichenfolge enthalten oder umgekehrt nur die Array-Zeilen zurückgegeben werden, die die gesuchte Zeichenfolge nicht als Teilzeichenfolge enthalten;<сравнение>– Parameter, der die String-Vergleichsmethode definiert. Drei weitere Funktionen ermöglichen die String-Konvertierung: LCase(<строка>) – wandelt alle Zeichen in einer Zeichenfolge in Kleinbuchstaben um, zum Beispiel gibt die Funktion LCase("MAIL") die Zeichenfolge „mail“ zurück; UCase(<строка>) – wandelt alle Zeichen in der Zeichenfolge in Großbuchstaben um; StrConv(<строка>, <преобразование>) – führt abhängig vom zweiten Parameter verschiedene Arten von String-Transformationen durch. Dieser Parameter wird durch integrierte Konstanten beschrieben, beispielsweise gibt die Funktion StrConv("Russia", VbProperCase) den Wert "Russia" zurück.

Und die letzten beiden Funktionen generieren Zeichenfolgen

Raum(<число>) – erstellt eine Zeichenfolge, die aus der angegebenen Anzahl von Leerzeichen besteht; Zeichenfolge(<число>, <символ>) – erstellt eine Zeichenfolge, die aus der im ersten Argument angegebenen Anzahl von Zeichen besteht. Das Symbol selbst wird im zweiten Argument angegeben.

Beispiel

Erstellen Sie ein Programm, das mit String-Variablen arbeitet. Erstellen Sie dazu ein Formular, dessen Beschriftungen die folgenden Nachrichten enthalten: 1 Beschriftung: Die Länge der im ersten Textfeld eingegebenen Zeichenfolge wird gemeldet (1 Zeile); 2 label: wandelt alle Zeichen des dritten Textfeldes (3. Zeile) in Großbuchstaben um; 3. Beschriftung: Zeigt den Inhalt des ersten und zweiten Textfelds (Zeile 1 und 2) zusammen an.

Ausführungstechnik

  • Öffnen Sie Word, speichern Sie das Dokument und gehen Sie zum VBA-Editor.
  • Erstellen Sie eine Form ähnlich der Abbildung unten.
  • Schreiben Sie einen Event-Handler für die Schaltfläche „OK“.
  • Kompilieren Sie das Programm.
  • Führen Sie das Formular aus.

Private Sub CommandButton1_Click() Dim a As String Dim b As String Dim c As String Dim k As String Dim d As String Dim n As Integer a=TextBox1.Text n=Len(a) Label7.Caption=“die Länge des ersten Zeile ist“ & n & „Zeichen“ c=TextBox3.Text k=Ucase(с) Label8.Caption=k b=TextBox2.Text d=a + " " + b Label9.Caption=d End Sub

Aufgabe

Es ist notwendig, dass in Excel in Zelle A1 nach durch Kommas getrennt in Spalte A2 geschriebenen Wörtern gesucht wird und das Ergebnis sowie die gefundenen Wörter mit der Anzahl ihrer Wiederholungen (wenn möglich) im gesuchten Text eingetragen werden eine weitere, dritte Zelle. (Noch besser wäre es, wenn sie in der ersten Zelle auf irgendeine Weise hervorgehoben (oder unterstrichen) würden, damit sie sofort sichtbar wären. So fügen Sie Wörter in ein Array ein:

Visual Basic-Code
1 2 3 4 5 6 Dim m() As String If InStr(1, Cells(1, 2).Value, ","") > 0 Then m = Split(Replace(Cells(1, 2).Value, " ", ""), " ,"") Else ReDim m(0): m(0) = Trim(Cells(1, 2).Value) End If

Und dann sucht man in einer Schleife nach allen Wörtern (wieder in einer Schleife, verschachtelt) Nach 23 Minuten hinzugefügt

Visual Basic-Code
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 Option Text vergleichen Option Explicit Sub QWERT() Dim R, N, K Dim m() As String If InStr(1, Cells(1, 2).Value, ",") > 0 Then m = Split(Replace(Cells( 1, 2).Value, " ", ""), ",") Else ReDim m(0): m(0) = Trim(Cells(1, 2).Value) End If For R = 0 To UBound( m) N = 1 Wenn InStr(1, Cells(1, 1).Value, m(R)) > 0, dann K = InStr(N, Cells(1, 1).Value, m(R)) FARBE K , Len(m(R)) N = K + Len(m(R)) K = InStr(N, Cells(1, 1).Value, m(R)) Schleife While K > 0 End If Next R End Sub Sub COLOR(ST, LN) With Cells(1, 1).Characters(Start:=ST, Length:=LN).Font .Color = RGB(0, 0, 255) .Bold = True End With End Sub

Nach 15 Minuten hinzugefügt Und so wird am Wortanfang gesucht und das gesamte Wort ausgewählt

Visual Basic-Code
1 2 3 4 5 6 7 8 9 10 11 Sub COLOR(ST, LN) LN = LN - 1 Do LN = LN + 1 Loop While VBA.Mid(Cells(1, 1).Value, ST + LN, 1)<>" " With Cells(1, 1).Characters(Start:=ST, Length:=LN).Font .Color = RGB(0, 0, 255) .Bold = True End With End Sub

Sie können eine Suche nicht vom Wortanfang aus durchführen, sondern nach Wortteilen. – Fügen Sie einen weiteren Do-Loop-Zyklus hinzu. Verschieben Sie nur den Anfang (ST) nach links um ein Leerzeichen (http://www.cyberforum.ru/vba/thread567588.html)

Vorgehensweise: Vergleichen einer Zeichenfolge mit einem Muster (Visual Basic)

Compliance-Prüfung Zeichenfolgen zur Vorlage String-Datentyp (Visual Basic) – Like-Operator (Visual Basic) . Der linke Operand des Like-Operators ist ein Zeichenfolgenausdruck und der rechte Operand ist eine Vorlagenzeichenfolge. Like gibt einen booleschen Wert zurück

Charakterprüfung

? - irgendein Symbol

  • myString besteht aus dem Zeichen W, gefolgt von zwei beliebigen Zeichen

    Dim sMatch As Boolean = myString Like „W??“

Beliebiges Zeichen aus der Liste und dem Bereich

Beliebiges Zeichen und dann eines der Zeichen A, C oder E

    Dim sMatch As Boolean = myString Like „?“ Groß- und Kleinschreibung beachten

  • myString = num Zeichen und dann ein Zeichen aus dem Bereich: i, j, k, l, m oder n:

    Dim sMatch As Boolean = myString Like „num“ Groß- und Kleinschreibung beachten

Like funktioniert sowohl mit einem String-Array der Länge Null („“). ermöglicht Ihnen zu überprüfen, ob eine Zeichenfolge leer ist

Ein Zeichen aus der Liste oder kein Zeichen

  1. Der Like-Operator wird zweimal verwendet und die Ergebnisse werden mit dem Or-Operator (Visual Basic) oder dem OrElse-Operator (Visual Basic) kombiniert.
  2. Fügen Sie in der ersten Anweisungsvorlage eine Liste von Zeichen in eckigen Klammern () ein.
  3. Platzieren Sie in der zweiten Anweisungsvorlage nichts an der Prüfstelle. Beispiel: Prüfung einer siebenstelligen Telefonnummer phoneNum, die genau drei Ziffern enthalten muss, gefolgt von einem Leerzeichen, einem Bindestrich, einem Punkt oder keinem Zeichen, und dann vier Stellen. (Die ersten drei Ziffern dürfen nicht von den letzten vier getrennt werden – „kein Zeichen“) Null, es tritt ein Fehler auf. Wenn ein Argument angegeben wird Vergleichstyp , Streit Startposition ist obligatorisch. Linie 1 Erforderlich. String-Ausdruck, nach dem gesucht wird. Zeile 2 Erforderlich. Der gesuchte Zeichenfolgenausdruck. Vergleichstyp Optional. Definiert den Typ String-Vergleiche. Wenn der Wert des Arguments Vergleichstyp Null ist, tritt ein Fehler auf. Wenn das Argument Vergleichstyp weggelassen, der Vergleichstyp wird durch den Parameter bestimmt Bedeutung HeiratenScheu. Geben Sie einen gültigen LCID-Parameter (LocaleID) an, um die in den Spracheinstellungen angegebenen Vergleichsregeln zu verwenden.

    Optionen

    Streit Vergleichstyp verwendet die folgenden Parameter:

    Rückgabewerte

    Anmerkungen

    Funktion InStrB Wird mit Bytedaten verwendet, die in einer Zeichenfolge enthalten sind. Funktion InStrB gibt die Byteposition und nicht die Zeichenposition des ersten Vorkommens einer Zeichenfolge in einer anderen zurück.

    Beispiele

    Verwenden der InStr-Funktion in einem Ausdruck Jedes Mal, wenn Sie Ausdrücke verwenden, können Sie die Funktion verwenden InStr. Wenn Sie beispielsweise die Position des ersten Punktes bestimmen möchten ( . ) in einem Feld, das eine IP-Adresse enthält (mit dem Namen „IPAddress“), können Sie die Funktion verwenden InStr es zu finden:

    InStr(1,,"")

    Funktion InStr untersucht jeden Wert im Feld „IPAddress“ und gibt die Position des ersten Punkts zurück. Wenn also der Wert des ersten Oktetts der IP-Adresse lautet 10. , die Funktion gibt den Wert 3 zurück.

    Sie können andere Funktionen verwenden, die das Ergebnis der Funktion verwenden InStr, um den Wert des IP-Adress-Oktetts zu extrahieren, das vor dem ersten Punkt steht, zum Beispiel:

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

    In diesem Beispiel die Funktion InStr(1,,"") gibt die Position des ersten Punktes zurück. Als Ergebnis der Subtraktion von 1 wird die Anzahl der Zeichen vor dem ersten Punkt bestimmt, in diesem Fall 2. Dann die Funktion Links extrahiert diese Zeichen von der linken Seite des Felds „IPAddress“ und gibt den Wert 10 zurück.

    Verwendung der Funktion InStr im Visual Basic for Applications (VBA)-Code

    NOTIZ. Die folgenden Beispiele veranschaulichen die Verwendung des Visual Basic for Applications (VBA)-Moduls. Weitere Informationen zum Arbeiten mit VBA finden Sie unter Referenz des Entwicklers in der Dropdown-Liste neben der Schaltfläche Suchen und geben Sie dann ein oder mehrere Schlüsselwörter in das Suchfeld ein.

    In diesem Beispiel die Funktion InStr Wird verwendet, um die Position des ersten Vorkommens einer Zeichenfolge innerhalb einer anderen zu ermitteln.

    Dim SearchString, SearchChar, MyPos SearchString ="XXpXXpXXPXXP" " Zeichenfolge, in der gesucht werden soll. SearchChar = "P" " Suche nach "P". " Ein Textvergleich, der an Position 4 beginnt. Gibt 6 zurück. MyPos = Instr( 4, Suchbegriff , Suchzeichen , 1) " Ein binärer Vergleich beginnend bei Position 1. Gibt 9 zurück. MyPos = Instr( 1, Suchbegriff , Suchzeichen , 0) „Der Vergleich ist standardmäßig binär“ (das letzte Argument wird weggelassen). MyPos = Instr( Suchbegriff , Suchzeichen ) " Gibt 9 zurück. MyPos = Instr( 1, Suchbegriff , „W“ ) „Gibt 0 zurück.

Häufig enthalten Zeilen in einem Programm unnötige Leerzeichen am Ende oder Anfang der Zeile, die entfernt werden müssen, weil Überflüssige führende oder nachgestellte Leerzeichen in einer Zeile können Probleme mit dem Programm verursachen.

VBA verfügt über drei Funktionen zum Entfernen führender und nachfolgender Leerzeichen aus einer Zeichenfolge: LTrim, RTrim, Trim. Beachten Sie, dass diese Funktionen die ursprüngliche Zeichenfolge nicht wirklich ändern, sondern eine Kopie der Zeichenfolge zurückgeben, bei der die zusätzlichen Leerzeichen entfernt wurden.

Bestimmen der Saitenlänge

Normalerweise müssen Sie die Länge einer Zeichenfolge kennen, wenn Sie Nachrichten für einen Benutzer formatieren oder Zeichenfolgendaten formatieren, die von einer Prozedur in ein Excel-Arbeitsblatt oder Word-Dokument eingegeben werden. VBA nutzt die Funktion für diese Zwecke Len. In der folgenden Auflistung stehen zwischen den Klammern und dem Wort zwei Leerzeichen.



Bei Zeichenfolgen mit fester Länge ist Vorsicht geboten. Da eine Zeichenfolge fester Länge immer die gleiche Länge hat, gibt die Len-Funktion immer die deklarierte Länge der Zeichenfolge zurück, unabhängig von der tatsächlichen Länge der Zeichenfolge. Wenn beispielsweise die Zeichenfolgenvariable StrokeName mit fester Länge, die 15 Zeichen lang ist, tatsächlich das Wort „Sonne“ enthält, dann ist die Funktion Len(StrokeName) gibt das Ergebnis 15 zurück. In diesem Fall müssen Sie die folgende Funktionskombination verwenden, um die tatsächliche Länge der Zeichenfolge (in unserem Fall - 6) herauszufinden: Len(Trim(StrokeName)).

Vergleichen und Suchen von Zeichenfolgen

VBA verfügt über zwei Funktionen, die Ihnen beim Vergleichen von Zeichenfolgen helfen: StrComp, InStr.

Funktion StrComp

Syntax


StrComp(String1, String2[, Compare])


String1, String2 – zwei beliebige Zeichenfolgenausdrücke, die verglichen werden müssen.

Wenn StrComp ausgeführt wird, wird einer der folgenden Werte zurückgegeben:

  • -1, wenn String1 kleiner als String2 ist;
  • 0, wenn String1 und String2 gleich sind;
  • 1, wenn String1 größer als String2 ist.


Die obige Auflistung vergleicht zwei Zeichenfolgen im Textmodus: „Standardzeichenfolge“ und „Standardzeichenfolge“. Vergleichsergebnis = 1, d.h. „Default String“ ist größer als „Default String“.

Experimentieren Sie mit verschiedenen Zeichenfolgen, um die Funktionsweise der StrComp-Funktion besser zu verstehen.

Funktion InStr

Mit der InStr-Funktion können Sie feststellen, ob eine Zeichenfolge eine andere Zeichenfolge enthält.

Syntax


StrComp(String1, String2[, Compare])


String1, String2 – alle gültigen String-Ausdrücke. Die Funktion prüft, ob String1 in String2 enthalten ist.

Compare ist ein optionales Argument, das eine der folgenden vordefinierten Konstanten sein kann (wenn es weggelassen wird, wird die aktuelle Option Compare-Einstellung verwendet):

  • vbBinaryCompare – binärer Vergleich zweier Strings;
  • vbTextCompare – Textvergleich zweier Zeichenfolgen;
  • vbDatabaseCompare – wird nur in Microsoft Access verwendet.

Start – ein optionales Argument, ist ein numerischer Ausdruck und gibt die Position des Zeichens in String1 an, ab dem die Prüfung beginnen soll.


InStr gibt eine Zahl zurück, die die Position des Zeichens in String1 angibt, an dem String2 gefunden wurde. Wenn InStr String2 in String1 nicht findet, wird 0 zurückgegeben. Wenn String1 (oder String2) Null ist, gibt die Funktion auch Null zurück.



Zeilenaufteilung

Manchmal ist es notwendig, eine Zeichenfolge in ihre Bestandteile aufzuteilen. In VBA lösen drei Funktionen dieses Problem: Links, Rechts, Mitte.

Linke Funktion

Syntax


Links (String, Länge)


Die Funktion gibt eine Kopie des Strings zurück, beginnend mit dem ersten Zeichen und einschließlich der durch „Length“ angegebenen Anzahl von Zeichen. Wenn „Length“ eine Zahl ist, die größer als die tatsächliche Länge des Strings ist, wird der gesamte String-Ausdruck zurückgegeben.

Richtige Funktion

Syntax


Rechts (String, Länge)


String ist ein beliebiger gültiger String-Ausdruck.

Länge – beliebiger numerischer Wert.


Die Funktion gibt eine Kopie des Strings zurück, beginnend mit dem letzten Zeichen und einschließlich der durch „Length“ angegebenen Anzahl von Zeichen von rechts nach links. Wenn „Length“ eine Zahl ist, die größer als die tatsächliche Länge des Strings ist, wird der gesamte String-Ausdruck zurückgegeben. Die Right-Funktion kopiert immer Zeichen vom Ende einer Zeichenfolge zum Anfang.

Mittelfunktion

Syntax


Mitte (Zeichenfolge, Anfang, [, Länge])


String ist ein beliebiger gültiger String-Ausdruck.

Länge, Start – beliebige numerische Werte.


Die Mid-Funktion gibt eine Kopie des Strings zurück, beginnend an der Zeichenposition im String, die durch das Startargument angegeben wird. Das optionale Längenargument gibt die Anzahl der Zeichen an, die von String nach Mid kopiert werden sollen. Wenn Start eine größere Zahl als die tatsächliche Länge des Strings enthält, wird ein leerer String zurückgegeben.



Zeichen, die nicht über die Tastatur eingegeben werden können

Es kommt häufig vor, dass Sie ein Zeichen eingeben müssen, für das es keine Taste auf der Tastatur gibt (z. B. ein Copyright-Symbol). Eine andere Situation ist, wenn Sie ein VBA-Dienstzeichen in eine Zeichenfolge einfügen müssen (am häufigsten werden doppelte Anführungszeichen verwendet).

Um Zeichen in eine Zeichenfolge aufzunehmen, die nicht über die Tastatur eingegeben werden können oder die für VBA eine besondere Bedeutung haben, verwenden Sie die Funktion Chr.

Syntax


Chr (Charcode)


Charcode – jeder numerische Ausdruck, der ein gültiger Code für den von einem Computer verwendeten Zeichensatz ist. Muss eine Ganzzahl zwischen 0 und 255 sein.

Die Chr-Funktion verwendet einen einzelnen Zeichencode als Argument und gibt eine Zeichenfolge zurück, die das diesem Code entsprechende Zeichen enthält. Diese Funktion wird in den obigen Auflistungen verwendet, um eine Zeile einzufügen, wenn eine Nachricht auf dem Bildschirm Chr (13) angezeigt wird.


Da die zum Beginn einer neuen Zeile verwendeten Zeichen beim Formatieren von Nachrichten und anderen von VBA-Routinen manipulierten Zeichenfolgendaten so wichtig sind, gibt es mehrere vordefinierte Konstanten für diese Zeichen, um die Verwendung der Chr-Funktion zu vermeiden:

  • vbCr ist ein Wagenrücklaufzeichen. Entspricht Chr(13)
  • vbLf – Zeichen um eine Zeile verschieben. Entspricht Chr(10)
  • vbCrLf – Wagenrücklauf + Zeichen um eine Zeile verschieben. Entspricht Chr(13)+ Chr(10)
  • vbTab – Tabulatorzeichen. Chr(9)-Äquivalent

Um die Liste anzuzeigen Code-Symbol Sie müssen das VBA-Hilfesystem öffnen und auf Anfrage „Zeichensätze“ Die entsprechende Tabelle wird angezeigt.



Datenwerte formatieren

Sehr oft passt uns das Datenformat am Ausgang eines Programms aus dem einen oder anderen Grund nicht ganz zu. Dieses Problem wird durch die Funktion gelöst Format.

Die VBA-Formatfunktion ist identisch mit der Formatfunktion in Excel und verwendet dieselben Platzhalter für die Datenformatierung.

Syntax


Format (Ausdruck [, Format[, Erster Wochentag [, Erster Wochentag]]])


Ausdruck – jeder gültige Ausdruck (erforderliches Argument).

Format ist ein gültiger Ausdruck eines benannten oder benutzerdefinierten Formats.

Firstdayofweek ist eine Konstante, die den ersten Tag der Woche angibt.

Firstweekofyear – eine Konstante, die die erste Woche des Jahres definiert.


Um die Formatfunktion verwenden zu können, müssen Sie entweder Legen Sie ein vordefiniertes Format fest, oder Erstellen Sie ein Bild in einem bestimmten Format, unter Verwendung von Platzhalterzeichen.


Benannte Formate zur Verwendung mit der Formatfunktion

Benanntes Format Aktion
Allgemeines Datum Formatiert Datums- und Uhrzeitinformationen mithilfe der Datums- und Uhrzeitformateinstellungen für diesen Computer in eine fortlaufende Datumsnummer.
Langes Date Formatiert nur den Datumsteil in ein fortlaufendes Datum, wobei die Einstellungen für das lange Datumsformat des Computers verwendet werden.
Mittleres Datum Formatiert nur den Datumsteil als fortlaufendes Datum und verwendet dabei die mittleren Datumsformateinstellungen Ihres Computers.
Kurzes Date Formatiert nur den Teil, der das Datum enthält, in ein fortlaufendes Datum, wobei die Einstellungen des Computers für das kurze Datumsformat verwendet werden.
Lange Zeit Formatiert nur den Zeitabschnitt in ein fortlaufendes Datum, wobei die Langzeitformateinstellungen des Computers verwendet werden.
Mittlere Zeit Formatiert nur den Zeitabschnitt in ein fortlaufendes Datum, wobei die mittleren Zeitformateinstellungen des Computers verwendet werden.
Kurze Zeit Formatiert nur den Zeitabschnitt in ein fortlaufendes Datum und verwendet dabei die Einstellungen des Computers für das Kurzzeitformat.
Allgemeine Nummer Formatiert eine Zahl in eine Zeichenfolge ohne Sonderzeichen.
Währung Formatiert eine Zahl mit einem Währungssymbol, einem Tausendertrennzeichen und nur zwei Dezimalstellen.
Fest Formatiert eine Zahl so, dass immer mindestens eine Ziffer vor dem Dezimalpunkt und mindestens zwei Ziffern danach stehen.
Standard Formatiert eine Zahl mit einem Tausendertrennzeichen, sodass mindestens eine Ziffer vor dem Dezimaltrennzeichen und mindestens zwei Ziffern danach stehen.
Prozent Formatiert eine Zahl als Prozentsatz, indem sie mit 100 multipliziert und ein Prozentzeichen hinzugefügt wird.
Wissenschaftlich Formatiert eine Zahl in das reguläre Exponentialformat.
Ja Nein Die Zeichenfolge „Ja“ wird zurückgegeben, wenn die formatierte Zahl ungleich Null ist, andernfalls „Nein“.
Wahr falsch Die Zeichenfolge „True“ wird zurückgegeben, wenn die formatierte Zahl ungleich Null ist, andernfalls „False“.
An aus Die Zeichenfolge „On“ wird zurückgegeben, wenn die formatierte Zahl ungleich Null ist, andernfalls „Off“.

Platzhalter zum Erstellen benutzerdefinierter Formate

Platzhalterzeichen Aktion (am Beispiel der Zahl 1234,45)
0 Ein numerisches Zeichen, das eine Ziffer anzeigt, wenn sich eine an dieser Position befindet, oder 0, wenn dies nicht der Fall ist. Sie können das 0-Symbol verwenden, um führende Nullen für Ganzzahlen und nachgestellte Nullen für Dezimalzahlen anzuzeigen: 00000.000 zeigt 01234,450 an
# Ein numerisches Symbol zeigt eine Ziffer an, wenn sich an dieser Position eine befindet, andernfalls zeigt es nichts an. Das Füllzeichen # entspricht 0, außer dass führende und nachgestellte Nullen nicht angezeigt werden: #####.### zeigt 1234,45 an
$ Zeigt das Dollarzeichen an: $###,###.00 zeigt 1.234,45 $ an
. Dezimales Platzhalterzeichen, zeigt den Dezimalpunkt an der angegebenen Position in der 0-Platzhalterzeichenfolge an: #.##.## zeigt 1234,45 an
% Prozentsymbol, multipliziert den Wert mit 100 und fügt ein Prozentzeichen an der durch die Platzhalter 0:#.#0.00% angegebenen Position hinzu, zeigt die Zahl 0,12345 als 12,35 % an (es erfolgt eine Rundung)
, Tausendertrennzeichen, fügt Kommas als Tausendertrennzeichen in 0- und #-Platzhalterzeichenfolgen hinzu: ###,###,###.00 zeigt 1.234,45 an
E-e- Zeigt den Wert im Exponentialformat mit einem Exponenten nur für negative Werte an: #.####E-00 zeigt 1,23445E03 an
E+ e+ Zeigt den Wert im Exponentialformat mit einem Exponenten für negative und positive Werte an: #.####E+00 zeigt 1,23445E+03 an
/ Trennt Tag, Monat und Jahr zum Formatieren von Datumswerten.
M Gibt an, wie Monate in Datumsangaben angezeigt werden: m zeigt 1, mm – 01, mmm – Jan, mmmm – Januar an
D Gibt an, wie Tage in Datumsangaben angezeigt werden: d zeigt 1, dd – 01, ddd – So, dddd – Sonntag an
j Zeigt den Tag des Jahres als Zahl von 1 bis 366 an
jj Gibt an, wie Jahre in Datumsangaben angezeigt werden: yy - 66, yyyy - 1966
Q Zeigt das Quartal des Jahres als Zahl von 1 bis 4 an
w Zeigt den Wochentag als Zahl an (1 – Sonntag)
ww Zeigt die Woche des Jahres als Zahl von 1 bis 54 an
: Trennt Stunden, Minuten und Sekunden in Zeitformatwerten: hh:mm:ss – 01:01:01, h:m:s – 1:1:1
H Gibt an, wie die Stunden angezeigt werden: hh - 01, h - 1
M Gibt an, wie Minuten angezeigt werden: mm - 01, m - 1
S Gibt an, wie Sekunden angezeigt werden: ss - 01, s - 1
Vormittags/Nachmittags Zeigt die Uhrzeit im 12-Stunden-Format mit hinzugefügtem AM oder PM an
@ Ein Zeichenplatzhalter, der ein Leerzeichen anzeigt, wenn die formatierte Zeichenfolge kein passendes Zeichen enthält.
Zeigt alle Zeichen in Großbuchstaben an.
> Zeigt alle Zeichen in Kleinbuchstaben an.
Chr

Chr-Funktion

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

Funktion Chr(CH aracte R) ermöglicht es Ihnen, ein Zeichen anhand des Werts seines numerischen ANSI- oder Unicode-Codes abzurufen

Rückgabewert

Funktionen Chr, ChrB, ChrW Gibt einen Wert des String-Subtyps vom Typ Variant zurück, der das Zeichen enthält, das dem angegebenen ANSI- oder Unicode-Zeichencode entspricht. Funktionen Chr$, ChrB$, ChrW$ Geben Sie entsprechend einen Wert vom Typ String zurück

Notiz

Chr Und Chr$ Gibt ein Zeichen anhand seiner ANSI-Kodierung zurück
ChrB Und ChrB$ zurückkehren Einzelbyte Linie
ChrW gibt ein Unicode-Zeichen zurück, auf Nicht-Unicode-Systemen verhält es sich jedoch ähnlich Chr
Verwendung im Parameter CharCode Werte größer als 255 erzeugen Laufzeitfehler 5: Ungültiger Prozeduraufruf oder ungültiges Argument oder 6: Überlauf

Optionen CharCode Das erforderliche Argument ist ein Long-Wert, der das Zeichen angibt. Normalerweise die Funktion Chr Wird beim Einfügen nicht druckbarer Zeichen in Textzeichenfolgen verwendet (Wagenrücklauf, Zeilenvorschub, Tabulator usw.). Die Codes 0-31 entsprechen Standard-ASCII-Steuerzeichen. Zum Beispiel, Chr(10) gibt ein Zeilenumbruchzeichen zurück Beispiel Dim retval retval = Chr(65) Debug.Print retval " gibt A zurück Kategorie

Bitte erläutern Sie im Abschnitt zur Frage „Menschen“ ausführlich, was die Funktion ord(x) und ihre Umkehrung chr(x) in Pascal bedeuten? vom Autor gegeben Nick Brown Die beste Antwort ist Es gibt eine spezielle Zeichentabelle (erweiterter ASCII-Code, wenn jedes Zeichen einen numerischen Wert hat, insgesamt gibt es 255 Werte in der Tabelle, d. h. jedem Zeichen wird eine Zahl zugewiesen,
chr(0..254) wandelt eine Zahl (ein Byte) in das Zeichen um, zu dem diese Zahl gehört, zum Beispiel chr(71) das Ergebnis wird der Buchstabe „G“ sein, auch das Drücken von Tasten auf der Tastatur erzeugt einen eigenen Code, Das ist genau der Code, wenn er in diesen Operator eingefügt wird und das Ergebnis liefert, welche Taste gedrückt wird, das ist zum Beispiel ich. Der ORD(x)-Operator führt diesen Vorgang jedoch in umgekehrter Reihenfolge durch.
Wir setzen das Wertzeichen und erhalten eine Zahl von 0 bis 254 (ein Byte)
zum Beispiel liefert uns ORD("G") das Ergebnis 71 (im Dezimalformat)
Das ist alles, was es scheint!!!

Antwort von Katyonachik[Neuling]
Es ist wirklich einfach)
Ord („X“) – gibt den Code des Zeichens X aus der ASKII-Tabelle zurück.
Das Ergebnis der Umkehrfunktion ist ein Symbol, das dem eingegebenen Code (von dem die Funktion übernommen wird) aus derselben ASCII-Tabelle entspricht.


Antwort von Juri[Guru]
Das sind keine reziproken Funktionen!
Die Ord-Funktion gibt den Ordnungswert eines Aufzählungstyps zurück.
Die Zählung beginnt bei Null.
Für den Byte-Typ gibt die Funktion den tatsächlichen Wert zurück – die Ordnungszahl stimmt mit dem Wert überein.
Für den Typ char gibt die Funktion die Seriennummer des Zeichens zurück, die (die Zahl ist zufällig) mit dem ASCII-Code übereinstimmt.
Die Funktion chr gibt das Zeichen mit dem angegebenen ASCII-Code zurück.
Fazit: Im Hinblick auf symbolische Werte funktionieren sie einfach wie das Gegenteil voneinander ...
Daher können wir sagen, dass die ord-Funktion die Umkehrung der chr-Funktion ist, aber nicht umgekehrt – die chr-Funktion ist nicht die Umkehrung der ord-Funktion, da der Umfang der ord-Funktion nicht auf die Arbeit mit Symbolen beschränkt ist!