CnC Foren

CnC Foren (http://www.cncforen.de/index.php)
-   Tech-Support / Tech-Talk (http://www.cncforen.de/forumdisplay.php?f=26)
-   -   Wort im Excel nach einer bestimmten Stellenzahl abhacken (http://www.cncforen.de/showthread.php?t=63562)

Simsenetti 21-07-2005 14:13

Wort im Excel nach einer bestimmten Stellenzahl abhacken
 
Weiß jemand mit felcher formel ich im excel ein wort nach 13 buchstaben abhacken kann?

MyersGer 21-07-2005 14:30

=TEIL("blallsldlasldllal";1;13)

wobei "blallsldlasldllal" auch ne andere zelle sein kann. also A1 z.b.

edit:
zu beachten: 1 = erstes zeichen :D nicht 0 wie bei C oder so.

LordMordred 21-07-2005 14:30

Formel wird es nicht unbedingt sein, müsstest dir schnell was in VBA schreiben.


Edit:
Ok, a) zu langsam
b) auch noch falsch

Ich stell mich mal ne runde in die Ecke :D

Sven 21-07-2005 14:39

VBA:
Code:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Characters.Count > 13 Then
    string_cell = Left(ActiveCell.Value, 13)
    ActiveCell.Value = string_cell
End If

Das aber nur als Denkansatz, es kürzt den Inhalt der aktiven Zelle auf 13 Zeichen wenn sich die Zellauswahl ändert.

End Sub

Simsenetti 21-07-2005 14:42

du kannst deine schmach wieder beseitigen wenn du mir sagen kannst wie ich =VERKETTEN(TEIL(A1;1;8);TEIL(B1;1;3);"xy") und die formel von MyersGer verbinden kann.

oder kann mir vieleicht jemand anderes helfen?

edit. mein post sollte vors sven kommen

edit: mein ziel ist nämlich folgendes:

ich habe eine spalte mit nachnamen und eine mit vornamen.

nun möchte ich in einem dritten feld zuerst den nachnamen (aber maximal 8 stellen davon), und danach den vornamen (aber der darf nur so weit dargestellt werden das der endgültige, zusammengefasste name 13 stellen enthält). nach dem vornamen soll dann auch noch xy stehen.

LordMordred 21-07-2005 14:53

Es ist glaub ich einfacher wenn du uns sagst was du machen willst ;)

Dann könnte man sich das ganze betrachten

Simsenetti 21-07-2005 14:54

mein ziel ist folgendes:

ich habe eine spalte mit nachnamen und eine mit vornamen.

nun möchte ich in einem dritten feld zuerst den nachnamen (aber maximal 8 stellen davon), und danach den vornamen (aber der darf nur so weit dargestellt werden das der endgültige, zusammengefasste name 13 stellen enthält). nach dem vornamen soll dann auch noch xy stehen.

beispiel

spalte 1 spalte 2 spalte 3

mueller renate muellerrenaxy
schneidewind markus schneidemarxy

Sven 21-07-2005 14:56

Mach dir doch eine Userform und setze die jeweils längste Zeichenkette pro Feld fest

Simsenetti 21-07-2005 15:00

wie moche ich das? ich bin auf diesem gebiet sehr unbeholfen

Sven 21-07-2005 15:04

Schau dir einfach mal den VBA Editor an ;)

Um aus der UserForm sicherzustellen, daß du immer an die erste freie Zeile schreibst:
Code:

ende = Worksheets("[Name des Sheets]").Cells(Rows.Count, [spalte]).End(xlUp).Row
Das gibt immer die erste freie Zelle (von unten) in einer Spalte zurück (Zeilennummer)

Simsenetti 21-07-2005 16:01

sodele, ich habs jetzt mit ner formel im exel geschafft

=VERKETTEN(TEIL(VERKETTEN(TEIL(A4;1;8);(B4));1;11);"lb")

nur jetzt hab ich das problem das ich im namensfeld noch bindestriche habe die aber ignoriert werden sollten.

beispiel

nachname vorname endname
müller-rolli stefan müllerrostelb

mir würde schon die formel alleine helfen mit der ich zeichen (hier ein bindestrich) ignorieren kann

edit:
hab das problem mit ner formel gelöst.

lösung:
=VERKETTEN(TEIL(VERKETTEN(TEIL(WECHSELN(A1;"-";"");1;8);(WECHSELN(B1;"-";"")));1;11);"lb")

LordMordred 21-07-2005 17:07

nett das du die Lösung auch gleich gepostet hast.
Na denn so gehts auch.

Aber da wär ich glaub ich nie draufgekommen

Simsenetti 21-07-2005 17:31

ich hab auch ne weile mit meinem kollegen gebraucht, aber wir sind nunmal eben keine programmierer. (und wollen auch keine werden)

auf jeden fall zeigt sich wieder wie man auch unbekannte lösungswege durch ein forum vermittelt bekommen kann.


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:27 Uhr.

Powered by vBulletin Version 3.7.3 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.