Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Textzelle Format "000" aufrechnen ...

VBA Textzelle Format "000" aufrechnen ...
27.07.2016 17:39:33
Udo
Hallo nochmal, ähnlich wie eben im vorherigen Thread suche ich nun
noch nach der Lösung meinen dreistelligen Zahlenblock per
CODE um 1 aufzurechnen ... Diese Spalte ist als Textformat gesetzt !
da steht dann zB. 001 oder 010 usw. bis 999 wenn nötig ( Ist auch Teil meiner Projektnummer die aus drei Zellen zusammengesetzt wird.
Wenn ich nun den Zellwert mit 001 zB per +1 addiere, bekomme ich 2 und nicht 002 ?
Könntet ihr mir dabei bitte auch nochmals kurz helfen, alleine schaff ichs nicht, probier grad schon dran rum ...
Daniels Hilfe aus dem vorherigen Thread zum Datum habe ich
mal so eingesetzt Cells(R, 39).Value = Format(1, "000")
So schreibt er zumindest schon mal 001, wie kann ich nun pro Ablauf um 1 erhöhen
002 ... 003 ( aber immerncoh als Text in der Zelle )
Zellformat benutzerdef. einstellen kenn ich , möchte ich hier speziell nicht verwenden, sonst stimmen andere Formeln wieder nicht die sich darauf beziehen ..
Vielleicht habt ihr ja noch ne Idee
Bin für jede Hilfe dankbar
LG udo
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Textzelle Format "000" aufrechnen ...
27.07.2016 17:48:18
Daniel
Hi
Werte addieren funktioniert nur mit Zahlen, nicht mit Texten.
Zahlen haben keine führenden Nullen.
ich würde also in den Einzelzellen die echten Zahlenwerte stehen lassen (ggf auch das Datum) und dann beim zusammenfügen zu einem Begriff diese in die entsprechend formatierten Texte umwandeln.
wie das in VBA geht, weißt du ja mittlerweile, wenn du die Wert in Excel per Formel zusammenfügst, nutze die Funktion TEXT:
=Text(A1;"000")&" "&Text(B1;"JJMMTT")
Gruß Daniel
Anzeige
okay, verstehe ...
27.07.2016 17:54:41
Udo
nochmal großen Dank Daniel, werde ich dann so umsetzen ...
auch deine ausführlichen Beschreibungen die helfen es auch nachzuvollziehen , klasse !
Ihr seit sehr hilfsbereit ! Möchte es wo es geht auch nicht ausnutzen ..
Danke nochmal !
LG udo
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA Textzelle Format "000" aufrechnen


Schritt-für-Schritt-Anleitung

  1. Vorbereitung der Zellen: Stelle sicher, dass die Zellen, in denen die dreistelligen Zahlen stehen, als Textformat formatiert sind. Du kannst dies über die Zelleigenschaften einstellen.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Modul einfügen: Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" wählst.

  4. VBA-Code eingeben: Kopiere den folgenden Code in das Modul:

    Sub IncrementTextValue()
       Dim R As Integer
       R = 1 ' Beispiel Zeilenindex
       Dim cellValue As String
    
       ' Aktuellen Wert aus Zelle lesen
       cellValue = Cells(R, 1).Value ' Zelle A1
    
       ' Den Wert um 1 erhöhen und als 3-stelligen Text formatieren
       Cells(R, 1).Value = Format(CInt(cellValue) + 1, "000")
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und führe das Makro durch ALT + F8 und wähle IncrementTextValue, um den Wert in der Zelle zu erhöhen.


Häufige Fehler und Lösungen

  • Fehler: "Typkonflikt": Stelle sicher, dass die Zelle, die du erhöhst, tatsächlich als Text formatiert ist und nur Zahlen enthält. Wenn andere Zeichen vorhanden sind, kann es zu einem Typkonflikt kommen.

  • Fehler: "Zahl hat keine führenden Nullen": Wenn du versuchst, die Zelle direkt zu addieren, wird Excel die führenden Nullen entfernen. Verwende Format, um die Zahl wieder in das gewünschte Format zu bringen.


Alternative Methoden

Falls du keine VBA-Lösung verwenden möchtest, kannst du die Excel-Funktion TEXT nutzen:

=TEXT(A1 + 1, "000")

Diese Formel erhöht den Wert in Zelle A1 um 1 und formatiert ihn als dreistelligen Text.


Praktische Beispiele

  1. Zelle A1 enthält "001": Nach Ausführung des VBA-Codes wird A1 zu "002".

  2. Zelle B1 enthält "099": Wenn du den Code auf B1 anwendest, wird der Wert zu "100", was in einer Textzelle als "100" angezeigt wird, ohne führende Nullen.


Tipps für Profis

  • Sichere deine Daten: Bevor du Makros ausführst, mach immer eine Sicherungskopie deiner Excel-Datei.

  • Debugging: Verwende Debug.Print im VBA-Code, um Werte während der Ausführung zu überprüfen.

  • Erweiterte Formatierung: Du kannst den VBA-Code anpassen, um mehrere Zellen gleichzeitig zu erhöhen, indem du Schleifen verwendest.


FAQ: Häufige Fragen

1. Warum kann ich keine führenden Nullen hinzufügen? Excel behandelt Zahlen standardmäßig als numerische Werte und entfernt führende Nullen. Um dies zu umgehen, musst du den Wert als Text formatieren.

2. Kann ich den Code auch für andere Zellen verwenden? Ja, ändere einfach den Zellbezug in Cells(R, 1), um andere Zellen zu adressieren.

3. Was passiert, wenn der Wert 999 erreicht? Wenn du die Zahl weiter erhöhst, wird Excel sie als 1000 anzeigen. Du kannst zusätzliche Logik implementieren, wenn du ein bestimmtes Limit setzen möchtest.

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