Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: grösste Stringlänge aus Spalte ermitteln

grösste Stringlänge aus Spalte ermitteln
27.03.2008 17:24:50
Peter
Guten Abend
Wie kann ich ermitteln, wie lang der längste String in einer bestimmten Spalte ist? Ich habe versucht, dies von der Abfrage des höchsten Wertes abzuleiten, leider ohne Erfolg.
Danke für eine Rückmeldung.
Peter
lngMax = Application.WorksheetFunction.Max(Sheets("Tab1").Columns(1))
lngLang = ?

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: grösste Stringlänge aus Spalte ermitteln
27.03.2008 17:29:24
Peter
Hallo Peter
mit der UDF geht es z. B.
Public Function Laengste(Bereich As Range) As Long Dim Zelle As Range For Each Zelle In Bereich If Len(Zelle) > Laengste Then Laengste = Len(Zelle) Next Zelle End Function


Angenommen, deine Werte stehen in Spalte A, dann in B1 =Laengste(A1:A100)
Gruß Peter

Anzeige
AW: grösste Stringlänge aus Spalte ermitteln
27.03.2008 17:30:58
OttoH
Hallo Peter,
so geht's:
Tabelle1
 ABC
1   
2 a 
3 aa 
4 aaa 
5 aaaa 
6 asd 
7 ss 
8 w 
9 e 
10 ddddddd 
11   
12   
13 7 
14   
15   
Formeln der Tabelle
B13 : {=MAX(LÄNGE(B2:B10))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Gruß OttoH

Anzeige
AW: grösste Stringlänge aus Spalte ermitteln
27.03.2008 18:07:30
Peter
Vielen Dank!
Konnte die Lösung von Peter Feustel umsetzen.
Peter
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Größte Stringlänge aus einer Spalte ermitteln


Schritt-für-Schritt-Anleitung

Um die größte Stringlänge in einer bestimmten Spalte zu ermitteln, kannst du eine benutzerdefinierte Funktion (UDF) in VBA verwenden. Hier ist, wie du vorgehen kannst:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle "Einfügen" > "Modul".

  3. Kopiere den folgenden Code in das Modul:

    Public Function Laengste(Bereich As Range) As Long
       Dim Zelle As Range
       For Each Zelle In Bereich
           If Len(Zelle) > Laengste Then Laengste = Len(Zelle)
       Next Zelle
    End Function
  4. Schließe den VBA-Editor und gehe zurück zu deinem Excel-Blatt.

  5. Verwende die Funktion in einer Zelle: Angenommen, deine Daten befinden sich in Spalte A (A1:A100), dann schreibe in eine andere Zelle:

    =Laengste(A1:A100)

Diese Formel gibt die maximale Stringlänge in der angegebenen Spalte zurück.


Häufige Fehler und Lösungen

  • Fehler: "Typ nicht korrekt"

    • Ursache: Die Funktion erwartet einen Bereich, aber du hast einen einzelnen Wert übergeben. Stelle sicher, dass du einen Zellbereich angibst.
  • Fehler: "Funktion nicht definiert"

    • Ursache: Die Funktion wurde möglicherweise nicht korrekt im VBA-Modul eingefügt. Überprüfe den Code und stelle sicher, dass das Modul gespeichert ist.

Alternative Methoden

Wenn du keine VBA-Funktion verwenden möchtest, kannst du auch die folgende Array-Formel nutzen:

  1. Wähle eine Zelle aus, in der das Ergebnis angezeigt werden soll.

  2. Gib die folgende Formel ein:

    =MAX(LÄNGE(A1:A100))
  3. Beende die Eingabe mit STRG + SHIFT + ENTER, um die Matrixformel zu aktivieren.

Diese Methode ist einfach und benötigt keinen VBA-Zugang.


Praktische Beispiele

Angenommen, du hast in Spalte A folgende Werte:

A
Text
Ein
Beispiel
Längerer Text hier

Um die Länge des längsten Textes zu ermitteln, verwende die Funktion:

=Laengste(A1:A4)

Das Ergebnis wird 16 sein, da "Längerer Text hier" die größte Stringlänge hat.


Tipps für Profis

  • Verwende die Funktion LEN: Du kannst die Länge eines Strings in Excel ganz einfach mit =LEN(A1) abfragen.
  • VBA-Optimierungen: Bei großen Datenmengen kann die Performance der UDF verbessert werden, indem du die Application.Volatile-Methode verwendest, um die Berechnung nur bei Bedarf auszuführen.
  • String maximale Länge: Beachte, dass die maximale Länge eines Strings in VBA 2.147.483.647 Zeichen beträgt.

FAQ: Häufige Fragen

1. Wie finde ich die Spaltennummer einer bestimmten Spalte? Um die Spaltennummer zu ermitteln, kannst du die Funktion =SPALTE(A1) verwenden, die dir die Nummer der Spalte A zurückgibt.

2. Kann ich die größte Stringlänge auch in mehreren Spalten ermitteln? Ja, du kannst die UDF anpassen, um mehrere Spalten zu berücksichtigen, indem du die Schleife entsprechend erweiterst, um alle Werte zu durchlaufen.

3. Was ist der Unterschied zwischen LEN und LÄNGE in Excel? LEN ist die englische Funktion und LÄNGE die deutsche. Beide erfüllen denselben Zweck, nämlich die Anzahl der Zeichen in einem Textstring zurückzugeben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige