Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA - Text kürzen

VBA - Text kürzen
11.04.2013 12:39:12
Claudia
Hallo,
brauche Eure Hilfe!
Ich möchte gerne im VBA-Code den Text auf maximal 60 Zeichen kürzen.
Text = ActiveCell.Offset(0, 6).Value
Text= Len(Text)
Weiter als das komme ich nicht, trotz Suche. Wer kann mir helfen?
Brauche die Lösung aber in VBA.
Vielen Dank!
LG
Claudia

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Text kürzen
11.04.2013 12:41:16
Klaus
Text = ActiveCell.Offset(0, 6).Value
Text = vba.left(text,60)
msgbox text
Grüße,
Klaus M.vdT.

text=left(text,60) owT
11.04.2013 12:41:46
Rudi

Supi, vielen Dank!
11.04.2013 13:18:59
Claudia

Anzeige
Dabei wird der Text aber abrupt abgebrochen, ...
11.04.2013 16:22:48
Luc:-?
…Susi,
da gibt's schon lange Besseres…
Gruß Luc :-?

Jetzt bin ich neugierig, Luc!
12.04.2013 09:53:12
Klaus
Hallo Luc,
wenn ich einen Text auf N Zeichen reduzieren muss, was ist denn dann besser als ihn nach N Zeichen abzubrechen? Vielleicht "[...]" ans ende damit es sanfter aussieht?
Grüße,
Klaus M.vdT.

Anzeige
Ganz einfach wg. der Verwechslungsgefahr ...
12.04.2013 11:14:12
Matthias
Hallo Klaus
Na wenigstens das letzte Wort sollte bis zum Leerzeichen komplett gezeigt werden.
Option Explicit
Sub Fuer_Klaus()
Dim Text$
Text = InputBox("Bitte Text eingeben", "Verwechslungsgefahr", "Klaus hat Lust auf Daniela")
MsgBox Left(Text, 25), vbCritical, ";o)"
End Sub
Gruß Matthias ;-)

Anzeige
Dafür kann ich zB 1 UDF für den Textumbruch ...
14.04.2013 03:17:50
Luc:-?
…nutzen (Ähnliches gibt's wohl auch im Archiv), Klaus,
deren Ergebnis ich anschließend beim 1. eingefügten Zeilenwechselzeichen beende, zB so:
=LINKS(TinLines(A1;60);SUCHEN(ZEICHEN(10);TinLines(A1;60)))
Habe aber noch andere Möglichkeiten… ;-)
Gruß + schöSo, Luc :-?
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Text kürzen in Excel mit VBA


Schritt-für-Schritt-Anleitung

Um einen Text in Excel mit VBA zu kürzen, kannst Du die folgende Schritt-für-Schritt-Anleitung befolgen:

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

  2. Füge ein neues Modul hinzu, indem Du im Menü Einfügen auf Modul klickst.

  3. Kopiere den folgenden Code in das Modul:

    Sub TextKuerzen()
        Dim Text As String
        Text = ActiveCell.Offset(0, 6).Value ' Text aus der Zelle 6 Spalten rechts
        If Len(Text) > 60 Then
            Text = Left(Text, 60) & "..." ' Text auf 60 Zeichen kürzen und "..." hinzufügen
        End If
        MsgBox Text ' Zeigt den gekürzten Text an
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Wähle die Zelle aus, von der Du den Text kürzen möchtest, und führe das Makro TextKuerzen aus.

Dieser Code kürzt den Text auf maximal 60 Zeichen und fügt "..." hinzu, um anzuzeigen, dass der Text abgeschnitten wurde.


Häufige Fehler und Lösungen

  • Fehler: Der Text wird nicht korrekt gekürzt.

    • Lösung: Stelle sicher, dass Du die richtige Zelle ausgewählt hast und dass der Text mehr als 60 Zeichen hat.
  • Fehler: Fehlermeldung beim Ausführen des Makros.

    • Lösung: Überprüfe, ob der VBA-Code richtig eingegeben wurde und ob Du das richtige Modul ausgewählt hast.
  • Fehler: Das Ergebnis ist nicht wie erwartet.

    • Lösung: Achte darauf, dass Du die Funktion Left korrekt verwendest, um den Text zu kürzen.

Alternative Methoden

Neben VBA gibt es auch andere Möglichkeiten, um Texte in Excel zu kürzen:

  • Excel-Formel: Du kannst die Funktion LINKS verwenden, um den Text zu kürzen:

    =LINKS(A1, 60) & "..."
  • Text-Tools: Nutze Textbearbeitungstools oder Add-Ins, die speziell für das Kürzen von Texten in Excel entwickelt wurden.


Praktische Beispiele

  • Beispiel 1: Kürze einen Text in Zelle A1 auf 30 Zeichen.

    Sub BeispielTextKuerzen()
        Dim Text As String
        Text = ActiveCell.Value
        If Len(Text) > 30 Then
            Text = Left(Text, 30) & "..."
        End If
        MsgBox Text
    End Sub
  • Beispiel 2: Kürze den Text in einer bestimmten Zeile und Spalte.

    Sub TextKuerzenBestimmteZelle()
        Dim Text As String
        Text = Cells(2, 1).Value ' Zelle A2
        If Len(Text) > 60 Then
            Text = Left(Text, 60) & "..."
        End If
        MsgBox Text
    End Sub

Tipps für Profis

  • Verwende Option Explicit, um sicherzustellen, dass alle Variablen deklariert werden.
  • Überlege, eine benutzerdefinierte Funktion (UDF) zu erstellen, um Texte flexibel zu kürzen, die Du in verschiedenen Excel-Tabellen verwenden kannst.
  • Nutze die InStr-Funktion, um sicherzustellen, dass der Text an einem Leerzeichen endet, bevor Du ihn kürzt.

FAQ: Häufige Fragen

1. Wie kann ich den Text in einer bestimmten Zelle kürzen?
Du kannst die Cells-Funktion verwenden, um den Text in einer spezifischen Zelle zu referenzieren, z.B. Cells(1, 1).Value für A1.

2. Gibt es eine Möglichkeit, den Text dynamisch zu kürzen?
Ja, Du kannst eine Eingabemaske mit InputBox verwenden, um den Text und die maximale Anzahl von Zeichen abzufragen.

3. Was passiert, wenn der Text weniger als 60 Zeichen hat?
Der Code gibt den Text unverändert zurück, wenn er weniger als 60 Zeichen hat.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige