Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1076to1080
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nur 50 Zeichen eines Strings auslesen

Nur 50 Zeichen eines Strings auslesen
20.05.2009 08:15:40
Kai
Hi,
ich habe in A1 einen String stehen, den möchte ich auslesen und weiter verwerten. Wenn der String aber über 50 Zeiche hat, sollen nur die ersten 50 Zeichen ausgelesen werden, der Rest kann ignoriert werden.
String = Sheets("Daten").Range("A1")
Wie lesen ich diese aus ?
Danke mal
Kai

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
=Links(A1;50)
20.05.2009 08:19:08
Harald
Formel: =Links(A1;50)
VBA: =left(Sheets("Daten").Range("A1");50)
Gruß
Harald
AW: Nur 50 Zeichen eines Strings auslesen
20.05.2009 08:29:56
Tino
Hallo,
hier ein Beispiel.
Sub Beispiel()
Dim strString As String
strString = Mid$(Sheets("Daten").Range("A1"), 1, 50)
MsgBox strString & vbCr & "länge: " & Len(strString)
End Sub


Gruß Tino

Anzeige
Danke Euch beiden, hilft mir weiter :-) owT
20.05.2009 09:13:11
Kai
Wenn man schon eine simple xlFkt durch...
20.05.2009 16:45:50
Luc:-?
...eine Subroutine ersetzen zu müssen glaubt, Tino,
sollte die doch wohl ein bißchen mehr können...!? Praktischer wäre ohnehin eine udF...
Ein paar Anregungen findest du sicher in der auf diesem Thread-Beitrag verlinkten BspMappe...
Gruß Luc :-?
wenn ich nur wüsste
20.05.2009 17:03:16
Tino
Hallo Luc,
was Du mir sagen willst? Was hat dies mit meinem Beispiel zu tun?
PS: habe mir die Datei nicht angesehn.
Gruß Tino
...das ist dein Fehler, sonst wüsstest du es,...
20.05.2009 17:13:22
Luc:-?
...Tino,
denn auf die VBA-Boni kommt's hier an, nicht auf die Problemlösung! Da die Procs für die dortige Problemlösung irrelevant sind, finden sie sich nur auf der Mappe... ;-)
Ansonsten sollte schon klar sein, was ich meine; du scheinst mir ein rechter VBA-"Pgmierteufel" zu sein... ;-)
Gruß Luc :-?
Anzeige
verstehe es immer noch nicht...
20.05.2009 17:38:30
Tino
Hallo,
, muss wohl am warmen Wetter liegen.
Aber Egal, vielleicht komme ich noch drauf. (meine Leitung ist manchmal etwas lang, sorry)
Gruß Tino
'Function TxRows' wäre doch eine, die etwas...
20.05.2009 18:18:49
Luc:-?
...mehr tut, Tino,
als einen String nur brutal zu kürzen. Sie sucht nach passenden Stellen innerhalb der Längenvorgabe und zerlegt den Text dann in Zeilen (MaxTextLänge 255 minus eingefügte Umbrüche). Mit...
{=Splitt(TxRows(textbezug;50);ZEICHEN(10)) } in einer Zelle erhält man dann einen sinnvoll abgetrennten 1.Textteil mit Länge ≤ 50. Markiert man mehrere Zellen nebeneinander, erhält man alle Textzeilen - für untereinander muss "außenrum" noch MTRANS(...) hinzugefügt wdn. Ohne Splitt wdn alle Textzeilen in einer Zelle umgebrochen angezeigt, wenn die Zellformatierung entsprechend gewählt wurde.
Das ist ganz im Sinne von XL eine Universallösung [wie bspw auch LINKS(...)] und keine Insellösung für nur einen konkreten Fall wie deine SubProc, die auch pflegeleichter wäre, wenn die links abzuschneidende Zeichenzahl wenigstens als Konstante am ProzAnfang deklariert worden wäre; außerdem hätte Left statt Mid auch gereicht...
Das sollte nur ein frdl Hinweis, keine "boshafte" Kritik sein... ;-)
Na dann, weiter gut schwitz (im doppelten Sinne) oder meintest du gar das "warme Wetter" im "höllischen Pgmierteufel-Office"...? Das wäre dann allerdings sehr gut gekontert... :-))
Gruß Luc :-?
Anzeige
AW: 'Function TxRows' wäre doch eine, die etwas...
20.05.2009 18:49:26
Tino
Hallo,
ich finde es ein klein wenig übertrieben extra eine Funktion zu schreiben die mir die ersten 50 Zeichen eines Textes wiedergibt.
strString = Mid(Range("A1"), 1, 50)
oder auch
strString = Left(Range("A1"), 50)
Sind 100 Zeichen vorhanden werden die ersten 50 übergeben, sind nur 25 Zeichen vorhanden,
werden auch nur 25 Zeichen übergeben ohne auf einen Fehler zu laufen.
Wenn z. Bsp. der Text nicht aus 50 Zeichen besteht, werden nur die zurückgegeben die da sind,
dies ist auch bei den anderen Funktionen (Left usw.) so.
(zumindest ist es unter xl2007 so)
Gruß Tino
Anzeige
Was sagt mir das,...
21.05.2009 16:51:56
Luc:-?
...Tino?
Nach deiner Logik hättest du deine Subroutine nicht schreiben müssen, LINKS hätte es ja auch getan...! ;-)
Das mit der Konstanten ist hierbei wegen der Kürze natürlich ebenso irrelevant wie die ganze Subroutine (nebenbei: Was ist, wenn in relevanten Fällen der wiederzugebende Textteil mal länger oder kürzer sein soll? Das ist doch das Problem, nicht die Länge des Quelltextes!), aber bei längeren Procs kann das schon mal sehr hilfreich sein. Nur macht sich hier kaum mal jemand diese Mühe...
Gruß Luc :-?
er will doch 50 Zeichen
21.05.2009 16:59:09
Tino
Hallo,
nicht mehr u. nicht weniger.
Ob Mid oder Left ist in meinen Augen wurscht, beide erfüllen den gleichen zweck..
Gruß Tino
Anzeige
Er will JETZT..., das impliziert 'ne Insellösung
21.05.2009 18:28:22
Luc:-?
...Tino... ;-)
Gruß Luc :-?
Noch einen schönen, bei uns leider nassen Feiertag... Ich schalte jetzt ab und mache was Sinnvolles... ;-)
wir sind doch keine Hellseher, auch Du nicht. ;-)
21.05.2009 18:54:43
Tino
Hallo,
Du bzw. ich können doch aber nicht wissen was er mit den 50 Zeichen vor hat.
Wenn es für sein Vorhaben nun mal erforderlich sein sollte das er 50 Zeichen braucht,
warum möchtest Du es unbedingt kürzen?
Bei mir (uns) ist das Wetter heute auch sehr durchwachsen,
eigentlich wollte ich heute eine Radtour machen, egal die Hauptsache ist das Bier ist angenehm kühl.

Wünsche noch einen schönen Rest Vatertag!
Gruß Tino
Anzeige
Danke! War auch nur 1 Tipp für Größeres... ;-) orT
22.05.2009 04:36:09
Luc:-?
Gruß Luc :-?

341 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige