Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
588to592
588to592
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

letzten Buchstaben ermitteln

letzten Buchstaben ermitteln
27.03.2005 09:15:33
Erich M.
Hallo EXCEL-Freunde,
möchte aus einer Zelle den letzten Buchstaben rechts ermitteln.
Wie geht das, wenn die letzten Zeichen Zahlen sind:

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: letzten Buchstaben ermitteln
27.03.2005 09:24:45
Hajo_Zi
Hallo Erich,
ich halte mich mal an die ersten zwei Zeilen und setze das mal um.
Option Explicit

Sub rechts()
Dim InI As Integer
Dim InJ As Integer
For InI = 3 To 6
For InJ = Len(Cells(InI, 1)) To 1 Step -1
If IsNumeric(Mid(Cells(InI, 1), InJ, 1)) Then
Cells(InI, 2) = Mid(Cells(InI, 1), InJ, 1)
Exit For
End If
Next InJ
Next InI
End Sub


Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Anzeige
AW: letzten Buchstaben ermitteln
27.03.2005 09:34:11
Erich M.
Hallo Hajo,
zunächst danke; aber jetzt wird die letzte Zahl ermittelt;
ich bräuchte den letzten Buchstaben rechts; leider konnte ich es nicht umstellen.
mfg
Erich
http://www.toolex.de
AW: letzten Buchstaben ermitteln
27.03.2005 09:37:38
Hajo_Zi
Hallo Erich,
If Not IsNumeric(Mid(Cells(InI, 1), InJ, 1)) And _
Mid(Cells(InI, 1), InJ, 1) <> " " Then
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.
AW: Danke Hajo - perfekt; das wars!!
27.03.2005 09:49:10
Hajo_Zi
Hallo Erich,
die Variante von Andre ist aber die eindeutig bessere Methode.
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.
Anzeige
AW: letzten Buchstaben ermitteln
27.03.2005 09:38:03
andre
Hallo Erich,
hier mal ein Beispiel zum Basteln:

Sub test4()
a = "K 123 k 423"
For i = Len(a) To 1 Step -1
If Mid(a, i, 1) Like "[a-z,A-Z]" Then
MsgBox 1
b=Mid(a, i, 1)
Exit For
End If
Next
End Sub

AW: letzten Buchstaben ermitteln
27.03.2005 09:51:34
Erich M.
Hallo andre,
danke; da fehlen mir leider noch die Kenntnisse. Mit Hajos Lösung komme ich bereits klar.
Deinen Vorschlag kann ich leider nicht anpassen; allerdings wäre es trotzdem interessant,
da ich immer wieder Auswertungen mit Zahlen- / Buchstabenkombinationen machen muss.
mfg
Erich
http://www.toolex.de
Anzeige
AW: letzten Buchstaben ermitteln
27.03.2005 10:06:03
andre
Hallo Erich,
hier der code. Er läuft übrigens auch wesentlich schneller, Hajo's läuft 2-3s und dieser 1-2 bei 1000 Datensätzen und dem String abc 123 def 456 ijk 789 10 11 12, CPU Celeron 2600. Hilfe findest Du in Excel unter dem Begriff like.

Sub rechts2()
Dim InI As Integer
Dim InJ As Integer
For InI = 1 To 100
For InJ = Len(Cells(InI, 1)) To 1 Step -1
If Mid(Cells(InI, 1), InJ, 1) Like "[a-z,A-Z]" Then
Cells(InI, 3) = Mid(Cells(InI, 1), InJ, 1)
Exit For
End If
Next InJ
Next InI
End Sub

Grüße, Andre
AW: letzten Buchstaben ermitteln
27.03.2005 10:11:49
andre
... die äußere Schleife muss natürlich so stehen:
For InI = 3 To 6
und nicht
For InI = 1 To 100
und bevor eine Frage kommt - in meinem Zeit - Test stand natürlich auch eine 1000 und nicht die 100 wie gepostet in dieser Schleife ;-)
schöne Ostern an alle, Gruß, Andre
Anzeige
AW: letzten Buchstaben ermitteln
27.03.2005 16:03:54
Erich M.
Hallo andre,
besten Dank - auch für die weiteren Erklärungen.
Der Hinweis mit der Zeit wäre für mich aber noch insofern hilfreich, als ich bei der
Auswertung ca. 16.000 Datensätzen bearbeiten muss. Dabei werden verschiedene Daten auf ca.
20 Spalten verteilt (wie die obige).
Jetzt wäre interessant zu wissen, wie lange die jeweiligen Spalten-Auswertungen benötigen.
Kann man innerhalb eines codes mehrere Zeitmessungen vornehmen und irgendwo eintragen lassen?
(Ich meine das im Forum mal gesehen zu haben und versuche es zu finden).
Besten Dank nochmal!
mfg
Erich
http://www.toolex.de
Anzeige
AW: letzten Buchstaben ermitteln
28.03.2005 10:09:34
andre
Hallo Erich,
die Lösung geht, ich nehme jedoch wegen der Kompatibilität zu älteren Versionen diese Form:

Sub rechts2()
Dim InI As Integer
Dim InJ As Integer
Cells(1, 5) = Format(Now, "hh:mm:ss") 'Startzeit
For InI = 1 To 1000
For InJ = Len(Cells(InI, 1)) To 1 Step -1
If Mid(Cells(InI, 1), InJ, 1) Like "[a-z,A-Z]" Then
Cells(InI, 3) = Mid(Cells(InI, 1), InJ, 1)
Exit For
End If
Next InJ
Next InI
Cells(2, 5) = Format(Now, "hh:mm:ss") 'Endzeit
End Sub

Den "Zeitstempel" musst Du unmittelbar vor und nach der Aktion setzen, bei Formeleinträgen ggf. auch die Berechnung aus- und wieder einschalten. Zur Überprüfung von Formelberechnungszeiten musst Du ggf. alle Einträge neu setzen, da Excel je nach Befehl nur Formeln mit Bezug auf geänderte Zellen neu berechnet.
Grüße, Andre
Anzeige
AW: letzten Buchstaben ermitteln
28.03.2005 10:14:14
Erich M.
Hallo Andre,
danke für den zusätzlichen Tipp!!
mfg
Erich
http://www.toolex.de
AW: letzten Buchstaben ermitteln - ohne VBA
27.03.2005 12:06:25
FP
Hallo andre,
AW: noch eine Variante ohne VBA
27.03.2005 14:20:24
FP
Hallo Erich,
diesmal als Arraformel
AW: noch eine Variante ohne VBA
27.03.2005 14:29:52
andre
Hallo Franz,
wenn ich die Formel auf meinen Beispielstring
"abc 123 def 456 ijk 789 10 11 12"
anwende erhalte ich als Ergebnis 1 !?
hier erhalte ich als Ergebnis 9
"abc 123 def 456 ijk 789 1"
und hier das Leerzeichen
"abc 123 def 456 ijk 789 "
und erst hier das k
"abc 123 def 456 ijk 789"
- Anführungszeichen nicht in Zelle übernehmen -
Grüße, Andre
AW: auch kein Problem
27.03.2005 14:43:48
FP
Hallo Andre,
man muß nur vorher alle Leerzeichen in Nullen umwandeln :-)
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige