Registriert seit: 06.12.2018
Version(en): 16
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
Registriert seit: 12.04.2014
Version(en): Office 365
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
Registriert seit: 06.12.2018
Version(en): 16
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.
Registriert seit: 12.04.2014
Version(en): Office 365
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!
Registriert seit: 02.05.2018
Version(en): Excel 365 & 2016
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
Registriert seit: 06.12.2018
Version(en): 16
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.
Registriert seit: 06.12.2018
Version(en): 16
(22.02.2019, 11: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
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
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

)
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 05.09.2017
Version(en): 2013
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
Registriert seit: 12.04.2014
Version(en): Office 365
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