[VBA] Excel 2007: Großbuchstaben suchen

schmidt206

Commander
Registriert
Dez. 2007
Beiträge
2.062
Servus,

habe früher viel mit VBA gearbeitet, aber anscheinend auch ebenso viel vergessen.

Ich hole mir hiermit den aktuellen Windows-Benutzernamen und schreib ihn in eine Zelle:

Code:
Sub ReadUsername()
Cells(1, 2) = Environ("UserName")
End Sub

Das Ergebnis lautet dann:

Code:
MaxMustermann

Was ich nun brauche, ist eine Ausgabe, die nur die beiden Großbuchstaben vom Vor- bzw. Nachnamen in diese Zelle schreibt.

Code:
MM

Ich google seit ner halben Stunde danach, finde aber nichts simples, was mich hier weiterbringt.
Ich bräuchte im Prinzip eine Überprüfung auf Großbuchstaben und eine Aneinanderreihung dieser in die gewünschte Zelle.

Gruß,
schmidt206
 
Zuletzt bearbeitet:
Ich kenn mich nicht mit VBA aus, aber die Datenstrukturen sollte die gleichen sein.

Ich würd den String durchlaufen und jeden Char auf seinen Ascii Wert prüfen http://www.torsten-horn.de/techdocs/ascii.htm
Ist der Wert größer als 64 und kleiner als 91 hast du einen Großbuchstaben und kannst ihn in einen Hilfsstring kopieren.

Sicher keine ideale Lösung, sollte aber funktionieren :p .
 
Danke, klappt! :)

Nun hätte ich noch ne kleine Frage:

Ist es möglich, sich beim "Speichern unter"-Dialog auf bestimmte Zellen zu beziehen, also dass der Dateiname vorgegeben ist?

Bsp:

Zelle 1: AB
Zelle 2: 255

Speichern unter gibt mir beim Klick standardmäßig folgenden Dateinamen aus:

FESTERTEXT_AB_255.xlsm


Gruß, schmidt206
 
Also bei der Großbuchstabensuche würde ich auch eher z.B. die UCase Funktion nutzen und dann Zeichenweise mit dem Originalstring vergleichen oder besser Reguläre Ausdrücke anwenden.

Insbesondere dann, wenn Du mehr Stringfunktionen brauchst.
Ein RegEx Object erstellst Du z.B. mit

Set Re = CreateObject("vbscript.regexp")

Die weitere Behandlung ist dann wie in VB Script.
 
Vielen Dank für eure Antworten, es hat geklappt :)
 

Ähnliche Themen

C
Antworten
8
Aufrufe
3.462
Cheetah1337
C
Antworten
16
Aufrufe
2.702
G
Antworten
0
Aufrufe
1.323
Zurück
Oben