Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
988to992
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
988to992
988to992
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeichen in Zellen mit Zeilenumbrüchen zählen

Zeichen in Zellen mit Zeilenumbrüchen zählen
25.06.2008 13:17:53
Guido
Hallo Forum,
ich bin neu hier und suche nach einer Lösung für ein Problem, das in ähnlicher Form Ende 2005 schon Mal angesprochen wurde (https://www.herber.de/forum/archiv/708to712/t709731.htm#709731).
Ich möchte für ein Gerät mit begrenztem Displayplatz Texte formulieren. Auf einigen Bildschirmen habe ich in Abhängigkeit vom verwendeten Zeichensatz oder eingeblendeten Menüs mehr oder weniger Zeilen zur Verfügung als in anderen.
Der Aufbau ist also wie folgt:
Spalte A enthält die erlaubte Anzahl von Zeilen in der Zelle
Spalte B enthält die erlaubte Anzahl von Zeichen pro Zeile in der Zelle
Spalte C enthält den Text
Spalte D enthält die Anzahl Zeichen pro Zeile in der Zelle C
Der Zeilenumbruch erfolgt mit Alt+Enter (wohl ZEICHEN(10) in Excel-VBA und Formeln)
Ich suche also eine Formel (oder ein Makro, das mir eine Funktion definiert), die folgendes macht:
Prüfen, ob die Anzahl der Zeilen in C kleiner oder gleich der Anzahl des Wertes aus A ist. Vermutlich irgendwas das prüft, ob die Anzahl (ZEICHEN(10) also Umbrüche) in der Spalte C kleiner oder gleich A-1 ist. Ist das Limit nicht eingehalten, soll die Zelle in Spalte C farbig markiert werden (meinetwegen auch die Zelle in Spalte D)
Dann soll für jede Zeile geprüft werden, ob das Zeichenlimit aus Spalte B eingehalten wird. Die Zeichenzahl pro Zeile soll in Spalte D geschrieben werden, die also genauso viele Zeilen enthält wie Spalte C.
Optimal wäre es, wenn in Spalte D eine Zeile, die zu viele Zeichen enthält, markiert wird, z. B. mit Ausrufezeichen vor der Anzahl der Zeichen. Dann ist nämlich Farbe = zu viele Zeilen und !!! = zu viele Zeichen in einer Zeile.
Geht das irgendwie?
Gruß
Guido

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

Betreff
Datum
Anwender
Anzeige
AW: Zeichen in Zellen mit Zeilenumbrüchen zählen
26.06.2008 02:08:10
fcs
Hallo Guido,
ich hab zwei benutzerdefinierte Funktionen erstellt, die die Zeilenzahl und die Zeilen je Zeile ermitteln.
Diese gibst du in Spalten D und E ein.
Die farbliche Markierung der Zellen kannst du dann per bedingter Formatierung einstellen.
Gruß
Franz

Tabellenblattname: Tab1
A             B                       C          D            E
1  max.Zeilen   max Zeichen                Text      Zeilen   Zeichen Zeile
2           1            10   0123456789                  1     10
3           2            20   0123456790                  2     10
123456789012345678901             21    !
Benutzte Formeln:
D2:  =fncZeilen(C2)
D3:  =fncZeilen(C3)
E2:  =fncZeichenZeile(C2;B2)
E3:  =fncZeichenZeile(C3;B3)
Function fncZeilen(strText) As Long
Dim Zeichen As Long
If Len(strText) = 0 Then
fncZeilen = 0
Else
fncZeilen = 1
For Zeichen = 1 To Len(strText)
If Mid(strText, Zeichen, 1) = Chr(10) Then fncZeilen = fncZeilen + 1
Next
End If
End Function
Function fncZeichenZeile(strText As String, maxZeichen As Long) As String
Dim Zeichen As Long, Zaehler As Long
If Len(strText) = 0 Then
fncZeichenZeile = ""
Else
fncZeichenZeile = ""
Zaehler = 0
For Zeichen = 1 To Len(strText)
If Mid(strText, Zeichen, 1) = Chr(10) Then
If Zaehler > maxZeichen Then
fncZeichenZeile = fncZeichenZeile & Zaehler & "    !" & Chr(10)
Else
fncZeichenZeile = fncZeichenZeile & Zaehler & Chr(10)
End If
Zaehler = 0
Else
Zaehler = Zaehler + 1
End If
Next
If Zaehler > maxZeichen Then
fncZeichenZeile = fncZeichenZeile & Zaehler & "    !"
Else
fncZeichenZeile = fncZeichenZeile & Zaehler
End If
End If
End Function


Anzeige
AW: Zeichen in Zellen mit Zeilenumbrüchen zählen
26.06.2008 11:19:00
Guido
Hallo, Franz!
Das ist herrlich - genau das, was ich gesucht habe.
Ein einziger Punkt ist da, der bei mir nicht funktioniert:
Anstatt die Anzahl der Zeichen in Spalte E untereinander zu bekommen, schreibt Excel 2007 die einfach hintereinander weg. Es hilft auch nichts, wenn ich Chr(10) durch Chr(13) oder beides ersetze.
Das gilt auch für Excel 2003 - allerdings wird hier, je nach Schriftart, ein Platzhalterkästchen im Text angezeigt.
Gibt es dafür noch eine Lösung? Bei dir scheint ja alles zu funktionieren. Arbeitest du mit Excel 2000?
Gruß
Guido

AW: Zeichen in Zellen mit Zeilenumbrüchen zählen
26.06.2008 12:38:00
Guido
Jetzt habe ich die Lösung für das Problem mit den Kästchen anstelle des Zeilenumbruchs gefunden:
Die Zellenformatierung muss auf "Textumbruch" stehen.
Dann klappt es wunderbar.
Guido
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige