VBA - erste Buchstaben eines Textes
#1
Hallo liebe Excelfreunde,

ich habe zwei "Probleme" die mich dann, wie ich merke doch überfordern  Huh

1.) 
Gern würde ich immer nur den Anfangsbuchstaben der Wörter aus einer Zelle in eine andere Zelle schreiben.

Stünde in einer Zelle:
Hund, Katze, Esel, Maus

Dann sollte also in einer anderen Zelle:
H,K,E,M 
stehen. 

2.)
Fängt in dem Text dieser einen Zelle ein Wort mit einem P an, dann sollen die ersten zwei Buchstaben dieses Wortes verwendet werden.
Stünde also in einer Zelle:
Hund, Katze, Pferd, Maus, Papagei

Dann sollte in einer anderen Zelle:
H,K,Pf,M,Pa
stehen.

Wie könnte man sowas geschickt umsetzen?

Liebe Grüße
Klaus
Top
#2
Hallöchen,

mit WENN und LINKS. Du überprüfst, ob LINKS(...;1) P ergibt und wenn ja, nimmst Du LINKS(...;2) und ansonsten ...;1
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Klaus
Top
#3
Hallo schauan,

vielen Dank für deine schnelle Nachricht.

Wenn ich das recht verstehe, dann wäre dies über Formel so lösbar.
Leider sind die verschiedenen Blätter um die es geht unveränderbar.
Heißt, ich müsste tatsächlich mit VBA arbeiten.  

Liebe Grüße
Klaus
Top
#4
Hallöchen,

Zitat:Leider sind die verschiedenen Blätter um die es geht unveränderbar.
Heißt, ich müsste tatsächlich mit VBA arbeiten.

Willst Du nur eine Meldung? Ich hatte gelesen, dass die Daten in Zellen sollen. Wenn die aber nicht veränderbar sind ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#5
Ja du hast Recht, das hab ich geschrieben. Ich hätte mich besser ausdrücken sollen. Entschuldige bitte.
Ich schreibe dieses Kürzel in ein anderes Blatt und ich verwende es im Dateinamen.
Top
#6
Hallöchen,

Zitat:Ich schreibe dieses Kürzel in ein anderes Blatt und ich verwende es im Dateinamen.

Ist denn das "andere Blatt" auch geschützt? Entferne den Schutz, trage die Formeln ein und setze den Schutz wieder.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#7
hm... ok, ist dann zwar nicht so wie angedacht, könnte aber gehen.

allerdings würde doch "Links" auch nur das erste Wort prüfen? Wie rutscht man denn ein Wort weiter ohne das man weiß wie viele Buchstaben das Wort haben wird?

wäre das dann nicht in etwa adäquat zu:

dim var as string
var = left(cells(1,1),1) 'für Zelle A1
Top
#8
Hallo, 19

hier als UDF und als SUB: 21
[attachment=36258]

Das kannst du natürlich auch auf einem anderen Tabellenblatt ausgeben. Blush
[-] Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:
  • Klaus
Top
#9
Hallo Case,

jetzt bin ich aber platt.
Im Leben hätte ich das so nicht hin bekommen. Mit dem Code muss ich mich erstmal in Ruhe befassen.
Ein Träumchen  18

Vielen herzlichen Dank
Klaus
Top
#10
Hallo,

vermutlich zu spät:

Code:
function Erste_Buchstaben(rng) as string
Tx = split(replace(rng, " ", ""), ",")
for i = 0 to ubound(Tx)
    if left(Tx, i) = "P" then
        Tx(i) = left(Tx(i),2)
    else
        Tx(i) = left(Tx(i),1)
    endif
next i

Erste_Buchstaben = join(Tx, ",")
end function

mfg

ungeprüft
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • Klaus
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste