Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Daten trennen mit Semikolon und zählen

Daten trennen mit Semikolon und zählen
Jockel
Hi,
ich habe eine Textbox1 und eine Textbox2. In der ersten Textbox werden entweder einzelne Informationen geschrieben:
ZB: 123456 oder 987456 oder 0123456. also 6 oder 7 stellige Schlüssel
Die Textbox2 bliebe dann bei Eingabe EINES Schlüssels leer.
So weit noch OK
Nun soll der User aber die Möglichkeit haben, in die Textbox1 zwei oder mehrere Schlüssel getrennt durch ein Semikolon einzugeben. zB so:
123456; 246246; 6543214
Bei Eingabe von mehrerern Schlüssel müssen in der Textbox2 die Schlüssel in Anteile (%) aufgeteilt werden. zB. so:
30; 20; 50
Das sind seither alles nur Sachen, die der User eingibt. Nun zum eigentlichen Problem:
1. wie prüfe ich ab, wenn ich in der Textbox1 zB 3 Schlüssel habe, das würde bedeuten, die Zelle beinhaltet 2 Semikolon, dass dann in der Textbox2 auch 2 Semikolon sind. Also die Anzahl der Semikolon in Textbox1 und Textbox2 muss immer gleich sein.
2. Die Summe der Prozentangabe in der Textbox2 muss unabhängig von der Anzahl , immer 100 (wie hier im Beispiel 30 + 20 + 50) betragen. (es müssen also immer 100% erreicht werden. wie kann ich das abprüfen ?
3. Wenn in der Textbox1 nur EIN Schlüssel drin steht, (heisst, es gibt kein Semikolon), dann kann Textbox2 leer bleiben.
Bei den ersten beiden Prüfungen soll bei einem Fehler eine msgbox erscheinen.
Danke mal für Eure Hilfe.
Joachim
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Daten trennen mit Semikolon und zählen
11.02.2010 10:04:03
Rudi
Hallo,
etwa so:
Private Sub CommandButton1_Click()
Dim i As Integer, dSum As Double
If UBound(Split(Me.TextBox1, ";")) = 0 Then
'nix passiert
Else
If UBound(Split(Me.TextBox1, ";"))  UBound(Split(Me.TextBox2, ";")) Then
MsgBox "unterschiedliche Anzahl"
Else
For i = 0 To UBound(Split(Me.TextBox2, ";"))
dSum = dSum + CDbl(Split(Me.TextBox2, ";")(i))
Next
If dSum  100 Then
MsgBox "Nicht 100"
End If
End If
End If
End Sub

Gruß
Rudi
Anzeige
Perfekt, Danke :-) owT
11.02.2010 10:12:26
Jockel
Perfekt, danke :-)) owT
11.02.2010 10:13:21
Jockel
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Daten trennen und zählen mit Semikolon in Excel


Schritt-für-Schritt-Anleitung

  1. Textboxen erstellen: Erstelle zwei Textboxen in deinem Excel-Formular. Nenne die erste Textbox TextBox1 (für die Eingabe von Schlüsseln) und die zweite TextBox2 (für die prozentuale Aufteilung).

  2. VBA-Code einfügen: Füge den folgenden VBA-Code in das CommandButton1_Click() Event ein, um die Eingaben zu überprüfen:

    Private Sub CommandButton1_Click()
        Dim i As Integer, dSum As Double
        If UBound(Split(Me.TextBox1, ";")) = 0 Then
            ' nix passiert
        Else
            If UBound(Split(Me.TextBox1, ";")) <> UBound(Split(Me.TextBox2, ";")) Then
                MsgBox "unterschiedliche Anzahl"
            Else
                For i = 0 To UBound(Split(Me.TextBox2, ";"))
                    dSum = dSum + CDbl(Split(Me.TextBox2, ";")(i))
                Next
                If dSum <> 100 Then
                    MsgBox "Nicht 100"
                End If
            End If
        End If
    End Sub
  3. Anzahl der Semikolons prüfen: Der Code prüft, ob die Anzahl der Semikolons in TextBox1 und TextBox2 übereinstimmt. Wenn nicht, erscheint eine Fehlermeldung.

  4. Summe der Prozentangaben prüfen: Die Summe der Werte in TextBox2 muss immer 100% betragen. Andernfalls wird ebenfalls eine Fehlermeldung angezeigt.

  5. Testen: Teste die Eingaben in beiden Textboxen, um sicherzustellen, dass die Logik korrekt funktioniert.


Häufige Fehler und Lösungen

  • Fehler: "unterschiedliche Anzahl"

    • Lösung: Stelle sicher, dass die Anzahl der Semikolons in beiden Textboxen übereinstimmt. Zum Beispiel, wenn in TextBox1 drei Schlüssel eingegeben werden, müssen auch in TextBox2 zwei Semikolons vorhanden sein.
  • Fehler: "Nicht 100"

    • Lösung: Überprüfe die Eingabe in TextBox2 und stelle sicher, dass die Summe der Werte 100 ergibt.
  • Textbox2 bleibt leer bei nur einem Schlüssel

    • Lösung: Das ist korrekt. Wenn nur ein Schlüssel in TextBox1 eingegeben wird, kann TextBox2 leer bleiben.

Alternative Methoden

  • Text in Spalten trennen: Eine Möglichkeit, um Daten mit Semikolon zu trennen, ist die Verwendung der Funktion "Text in Spalten" in Excel. Wähle die Zelle aus, gehe zu "Daten" und klicke auf "Text in Spalten". Wähle "Getrennt" und setze das Semikolon als Trennzeichen.

  • Formeln verwenden: Du kannst auch Formeln wie TEIL() und FINDEN() nutzen, um Daten aus einer Zelle zu extrahieren und sie in separate Zellen aufzuteilen.


Praktische Beispiele

  • Beispiel für die Eingabe:

    • In TextBox1: 123456; 246246; 654321
    • In TextBox2: 30; 20; 50
    • Die Ausgaben müssen korrekt in Bezug auf die Semikolons und die Summenprüfung sein.
  • Zellen zusammenführen: Um mehrere Zellen in eine Zelle mit Semikolon zu verbinden, kannst du die Formel =TEXTVERKETTEN(";", WAHR; A1:A3) verwenden, um die Werte in den Zellen A1 bis A3 zu kombinieren.


Tipps für Profis

  • Datenvalidierung: Nutze die Datenvalidierungsfunktion in Excel, um sicherzustellen, dass die Eingaben in TextBox2 nur Zahlen sind und die Summe 100 ergibt.

  • Makros zur Automatisierung: Automatisiere den Prozess mit Makros, um die Eingabe und Validierung in Excel zu verbessern.

  • Excel-Daten einfügen semikolon getrennt: Achte darauf, dass beim Einfügen von Daten in Excel die Trennzeichen korrekt gesetzt sind, um eine fehlerfreie Verarbeitung zu gewährleisten.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Zellen in eine Zelle mit Semikolon trennen? Du kannst die Funktion TEXTVERKETTEN() verwenden, um mehrere Zellen in einer Zelle zu verbinden. Setze das Semikolon als Trennzeichen.

2. Gibt es eine Möglichkeit, Excel Daten mit Semikolon zu trennen? Ja, du kannst die Funktion "Text in Spalten" verwenden oder VBA-Skripte erstellen, um Daten anhand des Semikolons zu trennen.

3. Wie überprüfe ich, ob die Summe in TextBox2 immer 100 beträgt? Der oben bereitgestellte VBA-Code prüft die Summe der Werte in TextBox2. Wenn die Summe nicht 100 ist, wird eine Fehlermeldung angezeigt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige