Anzeige
Archiv - Navigation
740to744
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
740to744
740to744
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zahlen in Buchstaben umwandeln

Zahlen in Buchstaben umwandeln
06.03.2006 23:18:12
Ludwig
Hallo liebe Forumsmitglieder,
ich habe folgendes Problem wo ich Hilfe benötige. Ich habe einige Artikelnummern, welche Buchstaben enthalten.
Beispiel
A964078 Hier soll das "A" in die Zahl 10 umgewandelt werden.
845B254 Hier soll das "B" in die Zahl 11 umgewandelt werden.
weiter analog bis Z soll in die Zahl 36 umgewandelt werden.
In der Excelhilfe und in der Forum-Suche habe ich leider nichts gefunden.
Für die Mühen bedanke ich mich im voraus!
mfg
L. Metz

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlen in Buchstaben umwandeln
06.03.2006 23:31:02
Ernst
Hi,
suchen nach: A , ersetzen durch: 10 und analog für die anderen Wertepaare.
mfg Ernst
AW: Zahlen in Buchstaben umwandeln
06.03.2006 23:35:41
Luc:?
Hallo Ludwig,
da gibt's 2 Möglichkeiten: 1. =WECHSELN(WECHSELN(zellbezug;"A";"10");"B";"11") 2. =HEXINDEZ(zellbezug;stellenzahl_für_evtl_vornullen) --> hiermit wird die Zahl völlig verändert, aber A=10 und B=11 interpretiert. ;-) Gruß Luc :-?
AW: Zahlen in Buchstaben umwandeln
07.03.2006 00:10:49
Ludwig
Guten Abend,
besten Dank für die Ansätze. Ich möchte diese Abfrage in ein Makro einbauen.
z.b. Spalte A, 1~35000 Artikel, von daher scheidet suchen&ersetzen aus, habe mich vielleicht etwas dämlich ausgedrückt.
mfg
L.Metz
Anzeige
AW: Zahlen in Buchstaben umwandeln
07.03.2006 00:17:37
MichaV
Hallo,
Tabelle1
 AB
3A96407810964078
4845B25484511254
54711Z9947113599
6ABCD10111213
Formeln der Tabelle
B3 : =charindez(A3)
B4 : =charindez(A4)
B5 : =charindez(A5)
B6 : =charindez(A6)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Dazu diesen Code in ein allgemeines Modul einfügen:


Option Explicit
Function CharInDez(Target As Range) 
Dim i%
Dim s$
Dim x$
For i = 1 To Len(Target)
    x = Mid(Target, i, 1)
    If Not IsNumeric(x) Then
      s = s & CStr(Asc(LCase(x)) - 87)
    Else
      s = s & x
    End If
Next i
CharInDez = s * 1
End Function


Guckst Du: Wie und wo fügt man ein Makro bzw. Code ein
Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
Halihalo Micha - God Afton - zieht's dich vor...
07.03.2006 00:30:09
Luc:-?
...lauter Langeweile wieder her. Nichts los da?
Zum Thema: Warum nimmst du nicht replace, wenn's bloß um A und B geht? For Each wäre, glaube ich, auch ein bisschen schneller (behpt zumindest MS). ;-)
Gruß nach Jööteborch!
Luc :-?
AW: Halihalo Micha - God Afton - zieht's dich vor
07.03.2006 00:33:41
MichaV
Hallo Luc,
1.) ja, sehr dunkel hier oben ;o) Und die Sucht, Du weißt ja...
2.) wie kommst Du darauf, daß es nur um A und B geht? weiter analog bis Z soll in die Zahl 36 umgewandelt werden.
3.) For Each ist langsamer. Und überhaupt, wo soll ich das hier einbauen?
Gruß- Micha
PS: Rückmeldung wäre nett.
Naja, hab ich wohl überlesen,...
07.03.2006 00:43:55
Luc:-?
...Micha!
Das mit dem For Each kann ich auch aus PHP haben. Wundert mich nur, dass MS nachträglich was Langsameres in VBA eingebaut haben soll. Dann ist's natürlich optimal und spart mir Zeit...;-?
Deine Winterabende sind ja auch länger...:-))
Luc :-?
Anzeige
AW: Naja, hab ich wohl überlesen,...
07.03.2006 00:56:14
MichaV
Hallo Luc,
das gibts schon in VB, aber für Arrays und Collections. Und ein VBA- String ist im Gegensatz zu PHP kein Array.
Deine Winterabende sind ja auch länger...:-)) ...und vor allem kälter!
Gruß- Micha
PS: Gute Nacht!
@Luc
07.03.2006 01:11:04
MichaV
Hallo,
mein aus versehen gerade erst entwickelter HTML- frost- Tag ist im HTML- Code verloren gegangen. Hier ist er:
...und vor allem kälter! <brrr> Gruß- Micha
AW: @Micha: auch, wenn's Mittwoch noch mal...
07.03.2006 03:04:31
Luc:-?
...schneien soll, hier wird's wärmer! Aber bei dir... na, ich weiß nicht...!?
God natt
Luc :-?
PS: War grad mal woanders (wo um 3 Sense ist!)...einem hoffnungsvollen Talent raten, dass wasweißich mit udFs anstellen will.
Anzeige
AW: Freudsche Fehlleistung
07.03.2006 15:46:36
Luc:-?
'n'Abend Micha,
Mann, Mann, da spukte mir doch noch meine eigene Vorstellung von "Replace in einer Subprozedur für den ganzen Bereich" im Kopf herum - da habe ich nur unterbewusst registriert, dass das 'ne Fkt für das zeichenweise Durchsuchen eines Wortes war. Peinlich!
Gruß Luc ;-?
AW: Zahlen in Buchstaben umwandeln
07.03.2006 00:22:48
Luc:-?
Hallo Ludwig,
WECHSELN wäre auch besser gewesen! In einem Makro verwendest du die Fkt replace(...) problemlos für den ganzen Bereich in einer For Each zelle In bereich - Schleife.
Gruß Luc :-?
PS: Evtl 'n bisschen langsam! Probieren!
AW: Zahlen in Buchstaben umwandeln
07.03.2006 00:29:50
Ludwig
Hallo Luc,
danke für die schnelle Antwort, werde mich schon mal ans probieren machen, Zeit spielt keine Rolle! Könntest Du mir den Code mal etwas genauer vorkauen?
besten Dank
Ludwig
Anzeige
Micha hat da schon gut vorgelegt, ...
07.03.2006 00:33:21
Luc:-?
...Namensvetter,
wart mal, vielleicht legt er noch was nach! Spart mir Zeit...;-)
Gruß Luc :-?
AW: Micha hat da schon gut vorgelegt, ...
07.03.2006 00:54:19
Ludwig
Hallo, gut wenn man fachkundiger User trifft!
habe folgendes gefunden!
Range("A:A").Select
Dim arr() As Variant
Dim x As Integer
'Immer abwechselnd: Gesuchtes Zeichen, Ersatzzeichen, gesuchtes Zeichen, Ersatzzeichen...
arr() = Array("A", "10", "B", "11", "C", "12", "D", "13", "E", "14", "F", "15", "G", "16", "H", "17", "I", "18", "J", "19", "K", "20", "L", "21", "M", "22", "N", "23", "O", "24", "P", "25", "Q", "26", "R", "27", "S", "28", "T", "29", "U", "30", "V", "31", "W", "32", "X", "33", "Y", "34", "Z", "35", 1, 2)
For x = LBound(arr()) To UBound(arr()) Step 2
Cells.Replace arr(x), arr(x + 1), xlPart
Next x
Wenn eine Zelle mit Buchstaben vorhanden ist, wird der Buchstabe korrekt ersetzt. Kommt danach eine Zahl, wird diese im ersten paar um 10 erhöht(aus 108574 wird 208574)!?!
besten Dank
Ludwig
Anzeige
hä?
07.03.2006 01:05:12
MichaV
Hallo,
möchte mal wissen, wen Du mit fachkundig meinst.
Wenns diese Version sein soll, gerne. Ich möchte nur mal wissen, warum er bei mir einen Fehler 1004 macht, wenn x bei 14 angekommen ist. Kann mir das bitte jemand erklären? Meine Werte in Spalte A:
Tabelle1
 A
1 
2 
3 
4 
5 
6 
7123410678
811123456
9151231434
10 
11 
12 
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Problem: bei x=14 bricht das Makro mit Fehler 1004 ab. Code wie gepostet. Win2000 mit XL2k
Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: hä?
07.03.2006 01:14:53
Ludwig
Hallo,
meine Spalte A vor dem Makro
032Z036
032Z037
032Z038
032Z039
032Z040
180009
180014
180017
180018
und danach
3235036
3235037
3235038
3235039
3235040
280009
280024
280027
280028
...habe auch gerade gesehen, dass es die erste Null mit abschneidet. Probiere gerade Deine Version, aber wie bekomme ich den Verweis
Formeln der Tabelle
B3 : =charindez(A3)
B4 : =charindez(A4)
B5 : =charindez(A5)
B6 : =charindez(A6)
für die Zellen ins Makro!
gruß Ludwig
AW: hä?
07.03.2006 01:49:11
Ludwig
Hallo nochmal, habe Deinen Code eingebaut, funzt 100%!
besten Dank
Ludwig
Anzeige
AW: Na also, gratuliere,...
07.03.2006 03:14:54
Luc:-?
...Ludwig.
Hätte mich auch sehr gewundert! Die Sache mit dem Array wäre auch 'ne Möglichkeit, falls du auch Umlaute und andere Sonderzeichen behandeln wolltest, weil die nicht in diesen gleichmäßigen Abständen auftreten, die du für Chr() brauchst. Allerdings würde ich da 2 Arrays, eins mit Buchstaben und eins mit den dazugehörigen Werten bevorzugen. Außerdem wäre es eigentlich richtiger, reine Zahlenwerte mit so viel Vornullen zu versehen wie maximal Buchstaben in den anderen auftauchen, falls gleiche Länge erforderlich ist. (Dito natürlich dann auch die anderen auf die Maximallänge bringen.)
Gute Nacht Luc :-?
Anzeige
AW: Na also, gratuliere,...
07.03.2006 14:09:57
Ludwig
Hallo zusammen,
hab mich gestern Abend bzw. heute morgen wohl zu früh gefreut. Habe die Tabelle auch nur oberflächlich überflogen. Heute Mittag habe ich dann festgestellt, dass die funktion die führenden Nullen abschneidet:
032Z016 wird 3235016
032Z019 wird 3235019
032Z020 wird 3235020
Außerdem werden einige zellen sehr seltsam berechnet(von 40000 vielleicht 70)
hier meine vorgehensweise:
kopiere die bearbeitete spalte und füge sie in einer anderen Spalte als "werte" ein. In der erten Ansicht sind alle werte gleich geblieben, wenn ich dann aber die kopierte reihe sortieren will, sind die letzten Werte:
#WERT!
#WERT!
#WERT!
#WERT!
#WERT!
#WERT!
#WERT!
#WERT!
#WERT!
#WERT!
#WERT!
#WERT!
5.86E+12
5.88E+11
80320200323
77100000000
58900000000
27035155420
27035153420
27035153320
27035153020
27035152920
27035120420
26603500220
17783519120
17783519020
17783518920
17783518720
17783518520
17783518320
17783518220
17783518020
17783517920
17783517820
17783517620
17783517520
17783517420
17783517320
17783516820
17783516720
17783516620
17783516420
17783516320
17783516120
17783516020
17783515620
17783515320
17783515220
17783515120
17783514920
17783514820
17783514720
17783514620
17783514520
17783513820
17783513720
17783513620
17783513520
17783513420
17783513320
17783513220
17783512520
17783512220
17783512120
17783512020
17783511320
17783510820
17783510720
17783510620
17783510120
17783510020
17783506720
17783504920
17783504820
17783503220
9433530106
was ich noch festgestellt habe: nach jedem sortieren verändern sich die werte!
mfg
L.Metz
AW: Dein neues Problem,...
07.03.2006 15:38:33
Luc:-?
...Ludwig,
kann ich nur bedingt nachvollziehen. Die Sache mit den Vornullen kannst du ganz leicht in den Griff bekommen, wenn du für die Zellen mit den berechneten Werten ein benutzerdefiniertes Format festlegst. Trage in das Menü einfach nur so viele Nullen ein wie der berechnete Wert maximal Stellen haben kann. Micha's Fkt gibt den Wert nämlich als Zahl zurück. Wenn du Standardformat eingestellt hast, kann sich Excel die Wiedergabeform selbst aussuchen - deshalb tritt mitunter die E-Schreibweise auf.
Der andere Fehler liegt wahrscheinlich daran, dass du die Zellen mit den Formeln sortierst. Das ist eigentlich unüblich, sollte aber nicht unbedingt zu Fehlern führen. Probiere mal, nur die Quellzellen zu sortieren. Das ergibt aber wahrscheinlich nicht die von dir gewünschte Reihenfolge. Deshalb solltest du die Ergebnisspalte kopieren und nur als Wert in eine neue Spalte speichern. Das müsste dann; entsprechend formatiert, problemlos sortierbar sein. Evtl überschreiten die sich ergebenden Werte auch die Maximalgröße für Zahlen in Excel (Micha's Fkt liefert Werte vom Datentyp Variant, das kann alles sein - rein numerisch ohne Dezimalen dann wohl als Datentyp Long interpretiert). Wenn alles nichts hilft, versuche es mal damit:
Entferne in der vorletzten Zeile der Fkt das "* 1" (ist für die Umwandlung in eine Zahl verantwortlich); dann kannst du allerdings in der 1. Codezeile nach der ")" auch noch As String ergänzen, ist dann effektiver. Die Formatierung der Ergebnisspalte kann dann entfallen.
Gruß Luc :-?
Na, Ludwig, Maschin kaputt? owT
09.03.2006 12:50:00
Luc:-?
:-?
AW: Na, Ludwig, Maschin kaputt? owT
10.03.2006 00:48:07
Ludwig
Hallo Luke,
Nein nein, bin aber nebenbei noch schwer am schaffen, mache in holzminden noch eine Umschulung zum Fachinformatiker, heute habe ich noch einen PC an einen Kunden ausgeliefert, total veraltete Telefonanlage im Haus- mußte alles aktualisiert werden-schon waren mal wieder 4 std. im Land. was soll´s
So, zum Makro- habe jetzt soweit alles am laufen und teste gerade. Ich hatte probleme beim hochladen der Daten. Es waren im File 45072 Artikel aber es kamen nur 43200 an. Der Fehler war reproduzierbar, also kein uploadfehler. Nachdem ich mir dann die werte mal genauer angeschaut habe stellte ich fest, das die ID in der Datenbank den wert int hat, der "nur bis 2147483647(+-) gültig ist. Durch das umwandeln der buchstaben war ich da leicht drüber. ich denke mal, es sollte jetzt funzen. wenn ich soweit bin melde ich mich nochmal.
gruß
ludwig
AW: Na, denn bis dann! ;-) - Gruß owT
10.03.2006 03:39:27
Luc:-?
:-?

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige