Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Zahlenwert um 1 ergänzen
#1
guten morgen Jungs/Mädels/Diverse ;)

VBA`s sind leider noch immer Neuland für mich.
bräuchte aber wieder einen winzig kleinen Code der mir eine Unmögliche Arbeit ermöglicht.
ich hab diverse Excel Tabellen mit horrenden Zellenanzahlen.
in der Zelle A steht jeweils eine 8 stellige zahl (12345678) die in der Mitte durch ein " " ergänzt werden müsste.
eine Formel kann ich leider nicht benutzen da ich diesen wert für weitere Formelberechnungen benutze und diese dann nicht mehr erkannt wird.

deshalb muss eine VBA her die aus A1-A10000 aus 12345678 eine 1234 5678 macht.
ich weiß.. das ist ein kleines für euch Spezialisten.

schon mal im voraus vielen lieben dank
Antworten Top
#2
Hallo

geht es dir da nur um das Aussehen der Zahl?
da würde doch das benutzerdefinierte Zahlenformat

0000 0000

schon den gewünschten Erfolg bringen
beim einfügen eines Leerzeichens wird aus der Zahl ein Text


MfG Tom
Antworten Top
#3
das aussehen wäre mir generell egal. mir geht's darum dass aus dem wert "XXXXXXXX" der wert "XXXX XXXX" wird,
damit Excel ihn als solchen erkennt und weiter benutzen kann.
Das ganze muss durch eine VBA bearbeitet werden, da wenn ich den wert durch eine formel (z.b. =ERSETZEN(A1;5;1;) ) anpasse,
er nicht erkannt wird und beispielsweise durch einem =sverweis nicht gefunden werden kann.
Antworten Top
#4
hm.....

also im Prinzip so?

Code:
Sub test()
   Dim i As Long
   For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
       Cells(i, 1).Value = Left(Cells(i, 1), 4) & " " & Right(Cells(i, 1), 4)
   Next
End Sub
dabei wird aus der achtstelligen Zahl aber ein Text!
Antworten Top
#5
Zitat:eine Formel kann ich leider nicht benutzen da ich diesen wert für weitere Formelberechnungen benutze und diese dann nicht mehr erkannt wird.
Wer behauptet denn sowas? Das stimmt so natürlich nicht.
Schöne Grüße
Berni
Antworten Top
#6
dann streikt mein Excel..
wenn ich
A1 - 12345678
A2 - =ERSETZEN(A1;5;1;) - angezeigt wird = 1234 5678
A3 - =SVERWEIS(A2;Tabelle!1:104800;2;FALSCH) - angezeigt wird = #NV

wenn ich mich allerdings auf A1 (also  12345678) beziehe funktioniert`s (nachdem ich den zu suchenden wert geändert habe)
folglich muss der Fehler in der Umsetzung der Formel in A2 liegen.
Antworten Top
#7
(22.02.2019, 10:23)Crazy Tom schrieb: hm.....

also im Prinzip so?

Code:
Sub test()
   Dim i As Long
   For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
       Cells(i, 1).Value = Left(Cells(i, 1), 4) & " " & Right(Cells(i, 1), 4)
   Next
End Sub
dabei wird aus der achtstelligen Zahl aber ein Text!

wie benenne ich die Zellen auf die sich die VBA bezieht? A1-A1000 sollen verändert werden
Antworten Top
#8
Hallo,

Zitat:wenn ich mich allerdings auf A1 (also  12345678) beziehe funktioniert`s (nachdem ich den zu suchenden wert geändert habe)

folglich muss der Fehler in der Umsetzung der Formel in A2 liegen.

das glaube ich weniger. Ich denke, du hast Zahlen und Texte gemischt. Wenn du deine Zahlen (kannst du testen mit =ISTZAHL(A1), wenn deine Zahl in A1 steht) so formatierst, wie es dir Tom geschrieben hat, dann findet der SVERWEIS() sie auch (sofern vorhanden Wink)
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#9
Hallo,

versucht hast du den Vorschlag von Crazy Tom mit der benutzerdefinierten Formatierung der Spalte A wohl nicht?

Deine Version kann nicht funktionieren weil du aus der Zahl in Spalte A einen Text machst, dann aber via SVERWEIS mit einer Zahl abgleichst.

Genau das passiert mit dem benutzerdefinierten Zahlenformat eben nicht. Die Zahl in Spalte A bleibt weiterhin z.B. 12345678 wird aber visuell so 1234 5678 dargestellt. Und damit funktioniert auch dein SVERWEIS.



Gruß Werner
Antworten Top
#10
in meinem Code werden die Zahlen in Spalte A gleich umgewandelt

aus 12345678 <-- Zahl wird durch das Leerzeichen = 1234 5678 <-- TEXT

wenn du jetzt mit dem SVerweis nach der Zahl 1234 5678 suchst wird da nüscht gefunden

deswegen würde sich mein erster Vorschlag mit dem benutzerdefiniertem Zahlenformat eher eignen
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste