Seite 1 von 1
Buchstaben hochzählen?
Verfasst: Sa, 02.03.2013 16:08
von „das Board“
Hey
Bei zahlen es ja einfach möglich das er so hochzählt:
Code: Alles auswählen
00001
00002
00003
00004
00005
00006
00007
.....
.....
.....
Nur wie mache ich das mit Buchstaben wie:
Ich würde das schon dringend brauchen.
THX!!!
Re: Buchstaben hochzählen?
Verfasst: Sa, 02.03.2013 16:58
von Rocko
„das Board“ hat geschrieben:Nur wie mache ich das mit Buchstaben
Wenn es dafür nicht auch schon einen "Einstellknopf" gibt, ist das vom Grundprinzip her nicht möglich. Text wird von links nach rechts, (Ganz-)zahlen aber von rechts nach links aufgebaut und beim Sortieren auch so interpretiert.
Eine Möglichkeit sähe ich nur darin, die Buchstaben der Textgruppe per Suchen&Ersetzen in Ziffern umzuwandeln (max. 9 Ziffern) und diese in einer Hilfsspalte dann analog zu sortieren.
Re: Buchstaben hochzählen?
Verfasst: Sa, 02.03.2013 22:13
von F3K Total
Hallo,
das geht mit einer selbstgeschriebenen Basic-Function, für Grossbuchstaben etwa so:
Code: Alles auswählen
function f_next_letter(slastletters) as string
nlength = len(slastletters)
nindex = nlength - 1
dim nletter(nindex) as variant
for i = 0 to nindex
nletter(i) = Asc(mid(slastletters,i+1,1))
next i
bcount = false
for i = nindex to 0 step -1
if not bcount then
if nletter(i) <> 90 then
nletter(i) = nletter(i)+1
bcount = true
else
nletter(i) = 65
bcount = false
endif
endif
next i
f_next_letter = ""
for i = 0 to nindex
f_next_letter = f_next_letter & chr(nletter(i))
next i
End function
Kopiere diesen Code im Basic Bereich z.B. in "Meine Makros/Standard/Module1"
Dann schreibe z.B. in Zelle A1
und in Zelle A2
es erscheint in A2
Die Formel läßt sich auch herunterziehen.

- XYZ.png (5.63 KiB) 1616 mal betrachtet
Schick, schick
Gruß R
EDIT: mit diesem Code geht es auch mit Kleinbuchstaben oder einer Mischung aus Gross- und Kleinbuchstaben wie
ASweX.
Kleine bleiben klein, Grosse bleiben gross. Ausserdem ist er performanter.
Die function heißt hier
next_letter
Code: Alles auswählen
function next_letter(slastletters) as string
nindex = len(slastletters) - 1
dim nletter(nindex) as long
for i = 0 to nindex
nletter(i) = Asc(mid(slastletters,i+1,1))
next i
for i = nindex to 0 step -1
if nletter(i) <> 90 and nletter(i) <> 122 then
nletter(i) = nletter(i)+1
exit for
else
if nletter(i) = 90 then
nletter(i) = 65
else
nletter(i) = 97
endif
endif
next i
next_letter = ""
for i = 0 to nindex
next_letter = next_letter & chr(nletter(i))
next i
End function
Re: Buchstaben hochzählen?
Verfasst: Mo, 04.03.2013 16:53
von paljass
...und für Formel-Fuzzis, die sich nicht mit Makros anfreunden können (hey, die Beschreibung passt ja genau auf mich

), hier die Formellösung - auch für Groß- und Kleinbuchstaben:
In A1 steht der Ausgangswert, in A2 wird die Formel
Code: Alles auswählen
=ZEICHEN(CODE(TEIL(A1;1;1))+WENN(CODE(GROSS(TEIL(A1;2;1)))=90;1;0)-WENN(CODE(GROSS(TEIL(A1;1;1)))=90;26;0))&ZEICHEN(CODE(TEIL(A1;2;1))+WENN(CODE(GROSS(TEIL(A1;3;1)))=90;1;0)-WENN(CODE(GROSS(TEIL(A1;2;1)))=90;26;0))&ZEICHEN(CODE(TEIL(A1;3;1))+WENN(CODE(GROSS(TEIL(A1;4;1)))=90;1;0)-WENN(CODE(GROSS(TEIL(A1;3;1)))=90;26;0))&ZEICHEN(CODE(RECHTS(A1;1))+1-WENN(CODE(GROSS(RECHTS(A1;1)))=90;26;0))
eingefügt und runterkopiert.
Gruß
paljass
Re: Buchstaben hochzählen?
Verfasst: So, 10.03.2013 19:08
von „das Board“
Sorry ich habe keine Benachrichtigung erhalten!
Ich habe es old Scool gemacht zuerst a -> z dann A "unter gezogen" und A-> Z eingefügt und das selbe mit der 3ten Reihe ging recht schnell.
Trotzdem danke für den Beitrag!!!!
