von F3K Total » Sa, 02.03.2013 22:13
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) 1614 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
Hallo,
das geht mit einer selbstgeschriebenen Basic-Function, für Grossbuchstaben etwa so:
[code]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[/code]
Kopiere diesen Code im Basic Bereich z.B. in "Meine Makros/Standard/Module1"
Dann schreibe z.B. in Zelle A1
[code]UZYX[/code]
und in Zelle A2
[code]=f_next_letter(A1)[/code]
es erscheint in A2
[code]UZYY[/code]
Die Formel läßt sich auch herunterziehen.[attachment=0]XYZ.png[/attachment]
Schick, schick
Gruß R
[b][color=#FF0000]EDIT:[/color][/b] mit diesem Code geht es auch mit Kleinbuchstaben oder einer Mischung aus Gross- und Kleinbuchstaben wie [color=#0040FF][b]ASweX[/b][/color].
Kleine bleiben klein, Grosse bleiben gross. Ausserdem ist er performanter.
Die function heißt hier [color=#0040FF]next_letter[/color]
[code]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[/code]