Office: Fehlende Zeichen einfügen

Helfe beim Thema Fehlende Zeichen einfügen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo VBA Kollegen! Ich habe wieder einmal ein kleines Problem. Ich muss im String1 mit einem anderen String2 vergleichen und die Buchstaben die im... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von KlausPeter, 27. März 2024.

  1. KlausPeter hat Ahnung

    Fehlende Zeichen einfügen


    Hallo VBA Kollegen!

    Ich habe wieder einmal ein kleines Problem.

    Ich muss im String1 mit einem anderen String2 vergleichen und die Buchstaben die im String2 aber nicht im String1 vorhanden sind ergänzen.

    Beispiel:
    String1 = S / B
    String2 = S / R

    Neuer String1 oder neuer String wäre somit = S / B / R

    Wie kann ich das anstellen?
    Erschwerend kommt noch hinzu, dass die Strings bis zu 4 Buchstaben lang sind.
    Beispiel: S / B / R / Z oder mit 3 Buchstaben B / R / Z usw.

    Immer müssen die Fehlenden Buchstaben ergänzt werden.

    Bitte um eure Hilfe!
    Danke
     
    KlausPeter, 27. März 2024
    #1
  2. HKindler
    HKindler Erfahrener User
    Hi,

    anhand deiner Beispielstrings (Teile immer getrennt durch " / ") könnte man das so lösen:
    Code:
    Dim a As String, b As String
    Dim c
    Dim i As Long
    a = "a / B / C"
    b = "a / E"
    c = Split(b, " / ")
    For i = 0 To UBound(c)
        If Not (InStr(a, c(i)) > 0) Then
            a = Join(Array(a, c(i)), " / ")
        End If
    Next i
    Debug.Print a
     
    Zuletzt bearbeitet: 27. März 2024
    HKindler, 27. März 2024
    #2
  3. DL_
    DL_ PowerQuery Guru
    1 Person gefällt das.
  4. schatzi Super-Moderator

    Fehlende Zeichen einfügen

    Moin,

    wenn die Strings z.B. in A1 und in B1 stehen, dann sollte dies schon reichen:

    =TEXTVERKETTEN(" / ";;EINDEUTIG(HSTAPELN(TEXTTEILEN(A1;" / ");TEXTTEILEN(B1;" / "));1))
     
    schatzi, 27. März 2024
    #4
  5. KlausPeter hat Ahnung
    Guten Morgen!

    Ich habe vergessen zu erwähnen, dass die Daten und Berechnungen ausschließlich in einer Userform stattfinden. Alle Daten werden aus Comboboxen oder Textfelder genommen.

    Die Version vom HKindler funktioniert sehr gut. Danke dafür.

    Eine Bitte hätte ich noch!
    Kann man die Zeichenfolge in eine bestimmte Reihung bekommen? D.H Das Ergebnis aus der Schleife ist: S / R / B
    Damit aber die richtigen Textfelder sichtbar werden brauche ich eine genaue Reihenfolge. In diesem Fall dann: S / B / R.

    Ich dachte daran die Buchstaben in eine Zahl umzuwandeln und dann aufsteigend sortieren.
    Oder hat von euch wer eine andere Idee?

    Grüße
    Klaus
     
    KlausPeter, 28. März 2024
    #5
  6. DL_
    DL_ PowerQuery Guru
    Eine sortierte Reihenfolge wäre aber B / R / S.
     
  7. KlausPeter hat Ahnung
    Hallo DL_

    Alphabetisch stimmt das natürlich. Es handelt sich hierbei aber um Kürzel von Arbeitsschritten und die haben diese Reihenfolge.
     
    KlausPeter, 28. März 2024
    #7
  8. lupo1
    lupo1 Tutorial Guru

    Fehlende Zeichen einfügen

    Die Schatzi-Variante sorgt dafür, dass die nicht vorhandenen in 1 aus 2 unsortiert angehängt werden. Wie gesagt: Angehängt. Mehr kann Excel hier nicht ahnen.
     
  9. HKindler
    HKindler Erfahrener User
    Hi,

    man kann im Grunde jede Excel-Gleichung in VBA verwenden. Die Formel von Schatzi ergibt in VBA
    Code:
    Dim a
    a = Evaluate("=TEXTJOIN("" / "",,UNIQUE(HSTACK(TEXTSPLIT(A1,"" / ""),TEXTSPLIT(B1,"" / "")),1))")
    Also im Grunde einfach nur die englische Formel mit verdoppelten "-Zeichen und Evaluate("...") drum herum.
    Wenn jetzt noch sortiert werden soll, dann wäre das in Excel:
    Code:
    =TEXTVERKETTEN(" / ";;LET(a;EINDEUTIG(VSTAPELN(TEXTTEILEN(A1;;" / ");TEXTTEILEN(B1;;" / ")));b;{"S";"B";"R"};c;XVERGLEICH(a;b);d;HSTAPELN(c;a);e;SORTIEREN(d);WEGLASSEN(e;;1)))
    Man beachte, dass ich die vorherige horizontale Verarbeitung wegen der Sortierung auf vertikale umgestellt habe.
    in VBA wäre das dann
    Code:
    Dim a
    a = Evaluate("=TEXTJOIN("" / "",,LET(a,UNIQUE(VSTACK(TEXTSPLIT(A1,,"" / ""),TEXTSPLIT(B1,,"" / ""))),b,{""S"",""B"",""R""},c,XMATCH(a,b),d,HSTACK(c,a),e,SORT(d),DROP(e,,1)))")
    oder ausführlich und mit Strings statt Zellen
    Code:
    Const t As String = """ / """    'Trennzeichen
    Const s As String = "{""S"", ""B"", ""R""}"   'Reihenfolge
    Dim a As String, b As String
    Dim c
    a = "S / R"
    b = "R / B"
    c = "=TEXTJOIN(" & t & ",,LET(a,UNIQUE(VSTACK(TEXTSPLIT(""" & a & """,," & t & "),TEXTSPLIT(""" & b & """,," & t & "))),b," & s & ",c,XMATCH(a,b),d,HSTACK(c,a),e,SORT(d),DROP(e,,1)))"
    c = Evaluate(c)
    Debug.Print c
    Alternative ginge auch als Formel
    Code:
    =TEXTVERKETTEN(" / ";;LET(a;EINDEUTIG(VSTAPELN(TEXTTEILEN(A1;;" / ");TEXTTEILEN(B1;;" / ")));b;"SBR";c;SUCHEN(a;b);d;HSTAPELN(c;a);e;SORTIEREN(d);WEGLASSEN(e;;1)))
    und als Code
    Code:
    Const t As String = """ / """
    Const s As String = """SBR"""
    Dim a As String, b As String
    Dim c
    a = "S / R"
    b = "R / B"
    c = "=TEXTJOIN(" & t & ",,LET(a,UNIQUE(VSTACK(TEXTSPLIT(""" & a & """,," & t & "),TEXTSPLIT(""" & b & """,," & t & "))),b," & s & ",c,SEARCH(a,b),d,HSTACK(c,a),e,SORT(d),DROP(e,,1)))"
    c = Evaluate(c)
    Debug.Print c
    hier habe ich SUCHEN statt XVERGLEICH verwendet, was die Angabe der Reihenfolge bei Einzelbuchstaben vereinfacht.
     
    HKindler, 28. März 2024
    #9
  10. KlausPeter hat Ahnung
    Hallo

    Also ich habe mich für die letzte Variante vom HKindler entschieden.

    Das funzt genau so wie ich es mir vorgestellt hatte.
    Ich zerreiße mir den Kopf seit 3 Tagen.

    Ihr seit die Besten.

    Danke
     
    KlausPeter, 28. März 2024
    #10
Thema:

Fehlende Zeichen einfügen

Die Seite wird geladen...
  1. Fehlende Zeichen einfügen - Similar Threads - Fehlende Zeichen einfügen

  2. (Excel) Dynamische Tabelle, VBA, fehlende Formatierung?

    in Microsoft Excel Hilfe
    (Excel) Dynamische Tabelle, VBA, fehlende Formatierung?: Liebe Experten, Gefilterte Daten sollen in ein Listobject übertragen werden. Für das Listobject habe ich ein Template angelegt, dass alle Formatierungen (u.a. bedingte Formatierung etc.) enthält....
  3. Fehlende fortlaufende Nummer feststellen

    in Microsoft Excel Hilfe
    Fehlende fortlaufende Nummer feststellen: Hallo zusammen, ich möchte gerne in Excel angezeigt bekommen, wenn eine fortlaufende Nummer fehlt. Leider hat die bedingte Formatierung mir nicht geholfen. Vorher noch zwei kurze Fragen: Kann...
  4. Pivot Tabelle aus 2 Tabellen, fehlende Optionen

    in Microsoft Excel Hilfe
    Pivot Tabelle aus 2 Tabellen, fehlende Optionen: Hallo, ich benutze Microsoft 365 auf dem Macbook und versuche oft Videotutorials über Excel zu folgen, finde dann aber die gezeigten Optionen bei mir nicht. Zu Beispiel versuche gerade eine...
  5. Strom und Gasverbrauch: Fehlende Tage automatisch in Tabelle hinzufügen

    in Microsoft Excel Hilfe
    Strom und Gasverbrauch: Fehlende Tage automatisch in Tabelle hinzufügen: Hallo! ich habe seit 5 Jahren in meiner Wohnung immer mal wieder meinen Strom und Gas Zähler notiert. Allerdings habe ich dies sehr unregelmäßig gemacht, sodass die Auswertung in Excel nicht...
  6. Import von XML-Dateien in Access

    in Microsoft Access Hilfe
    Import von XML-Dateien in Access: Hallo zusammen, ich möchte eine Menge von XML-Dateien in Access 2016 importieren und verwende dazu die Importfunktion für XML-Dateien unter Externe Daten im Menü. Die Dateien enthalten einige 100...
  7. PQ-Auswertung von Übereinstimmungen und Fehlende Daten

    in Microsoft Excel Hilfe
    PQ-Auswertung von Übereinstimmungen und Fehlende Daten: Hallo miteinander, so nun habe ich mein nächstes PQ-Projekt am Start. Jetzt bin ich halt leider wieder an meine Grenzen gestoßen. Ich habe eine Mustertabelle mit Wunsch-Ergebnis aufbereitet. Nun...
  8. fehlende mathematische Zeichen in Formeleditor in Word 2007

    in Microsoft Word Hilfe
    fehlende mathematische Zeichen in Formeleditor in Word 2007: Hallo, habe folgendes Problem: Ich brauche ein mathematisches Zeichen für die Untergrenze eines Intervalls (siehe Anhang) Leider gibt es im Formeltool von Word 2007 keinen Akzent mit dem man eine...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden