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

Forumthread: VBA-Code, ersten 5 bzw. 6 Stellen einer Zahl

VBA-Code, ersten 5 bzw. 6 Stellen einer Zahl
16.07.2013 17:44:29
Tim
Hallo zusammen,
der untere VBA-Code gibt bei Eingabe einer 7 stelligen Zahl die ersten 5 Stellen von links einer wieder. ( Bsp. Eingabe 1234509, Betrachtung 12345)
Bisher wurden immer 7 stellige Zahlen eingetragen, die ersten 5 waren nur von Bedeutung. Jetzt sollen aber auch 8 stellige Zahlen eingetragen werden können, von denen dann jeweils die ersten 6 Stellen von links relevant sind.
Der Code soll jetzt so angepasst werden, dass bei Eingabe einer 7 stelligen Zahl die ersten 5 Zahlen relevant sind, bei Eingabe einer 8 stelligen Zahl entsprechend die ersten 6 Ziffern.
Leider bekomme ich die entsprechende if-Anweisung nicht hin.
Vielen Dank!
Sub ladeKnopf_Click()
Dim aufStr As String
Dim aufFeld() As String
Dim text As String
Dim datensatz As OracleInProcServer.OraDynaset
text = Replace(aufträgeTextBox.text, "&", ",")
aufFeld = Split(Replace(text, " ", ""), ",")
aufStr = aufStr + "(" + Left(aufFeld(0), 5)
Dim i As Integer
For i = 1 To UBound(aufFeld)
aufStr = aufStr + "," + Left(aufFeld(i), 5)
Next i
aufStr = aufStr + ")"

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Code, ersten 5 bzw. 6 Stellen einer Zahl
16.07.2013 17:46:38
Hajo_Zi
If Len(aufFeld(i))=7 Then
aufStr = aufStr + "," + Left(aufFeld(i), 5)
elseIf Len(aufFeld(i))=8 Then
aufStr = aufStr + "," + Left(aufFeld(i), 6)
End if

Na, weeßte, ...
16.07.2013 18:31:15
Luc:-?
…Tim,
ist doch kein Problem. Man muss ja auch nicht gleich so umständlich rangehen wie Hajo… ;-)
aufStr = aufStr + "," + Left(aufFeld(i), Len(aufFeld(i) - 2)
Gruß Luc :-?
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

VBA-Code zur Verarbeitung von 7- und 8-stelligen Zahlen


Schritt-für-Schritt-Anleitung

Um deinen VBA-Code so anzupassen, dass er sowohl 7-stellige als auch 8-stellige Zahlen verarbeitet, kannst du folgende Schritte befolgen:

  1. Öffne den VBA-Editor in Excel, indem du ALT + F11 drückst.
  2. Finde das Modul, in dem dein bestehender Code enthalten ist.
  3. Ändere den Code wie folgt:
Sub ladeKnopf_Click()
    Dim aufStr As String
    Dim aufFeld() As String
    Dim text As String
    Dim i As Integer

    text = Replace(aufträgeTextBox.Text, "&", ",")
    aufFeld = Split(Replace(text, " ", ""), ",")
    aufStr = aufStr + "(" + Left(aufFeld(0), 5)

    For i = 1 To UBound(aufFeld)
        If Len(aufFeld(i)) = 7 Then
            aufStr = aufStr + "," + Left(aufFeld(i), 5)
        ElseIf Len(aufFeld(i)) = 8 Then
            aufStr = aufStr + "," + Left(aufFeld(i), 6)
        End If
    Next i

    aufStr = aufStr + ")"
End Sub
  1. Führe den Code aus, um sicherzustellen, dass bei einer 7 stelligen Zahl die ersten 5 Ziffern und bei einer 8 stelligen Zahl die ersten 6 Ziffern korrekt verarbeitet werden.

Häufige Fehler und Lösungen

  • Fehler: Der Code verarbeitet keine 8 stellige Zahl.

    • Lösung: Stelle sicher, dass die If-Bedingungen korrekt formuliert sind, wie im obigen Beispiel.
  • Fehler: VBA gibt einen Laufzeitfehler aus.

    • Lösung: Überprüfe, ob die Eingabewerte tatsächlich Zahlen sind und ob das Textfeld korrekt eingelesen wird.

Alternative Methoden

Es gibt alternative Ansätze zur Verarbeitung von Zahlen in Excel. Eine Möglichkeit ist die Verwendung von Excel-Formeln, um die relevanten Ziffern zu extrahieren. Du kannst die Funktion LINKS verwenden:

  • Bei einer 7 stelligen Zahl:

    =LINKS(A1; 5)
  • Bei einer 8 stelligen Zahl:

    =LINKS(A1; 6)

Diese Formeln geben die ersten 5 bzw. 6 Ziffern der Zahl in Zelle A1 zurück.


Praktische Beispiele

Hier sind einige Beispiele, um den VBA-Code in Aktion zu sehen:

  • Eingabe: 1234567
    • Ergebnis: 12345
  • Eingabe: 12345678
    • Ergebnis: 123456

Mit diesen Eingaben kannst du die Funktionalität des Codes testen und sicherstellen, dass er sowohl mit 7 stelligen als auch mit 8 stelligen Zahlen korrekt arbeitet.


Tipps für Profis

  • Verwende Fehlerbehandlung, um sicherzustellen, dass der Code auch bei unerwarteten Eingaben stabil bleibt.
  • Du kannst die Länge der Zahl dynamisch anpassen, um auch zukünftige Änderungen zu berücksichtigen.
  • Dokumentiere deinen Code gut, um die Lesbarkeit und Wartbarkeit zu erhöhen.

FAQ: Häufige Fragen

1. Wie kann ich den Code anpassen, wenn ich auch 6 stellige Zahlen verarbeiten möchte? Du kannst einfach eine weitere ElseIf-Bedingung hinzufügen, die die Länge prüft und entsprechend die ersten 4 Ziffern extrahiert.

2. Wo finde ich den VBA-Editor in Excel? Du kannst den VBA-Editor öffnen, indem du ALT + F11 drückst. Dort kannst du deinen Code bearbeiten und speichern.

3. Funktioniert der Code in allen Excel-Versionen? Ja, der Code sollte in den meisten modernen Excel-Versionen funktionieren. Stelle sicher, dass du VBA aktiviert hast.

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