2.2k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo!

Ich möchte gerne (heißt muss) in ein paar Spalten die Textlänge auf 45 Zeichen beschränken.
Da das Arbeitsblatt schon vollständig ausgefüllt ist, ist die Datenüberprüfung keine Alternative (kann nur einzelne Zellen,oder?)

Ideal wäre ein Makro, das mit die Zellen mit mehr Zeichen als 45 in der Spalte, die ich markiere (z.B. C) , markiert, färbt ..
dann könnte ich händisch korrigieren.

Das geht doch bestimmt, nur wie?

quasi ein Befehl für : Textlänge > 45 = rot

Besser kann ich es nicht erklären! Danke für Hilfe.

8 Antworten

0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo,

probier mal das

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 3 Then Exit Sub
If Len(Target.Value) > 45 Then
Target.Interior.ColorIndex = 3
Else
Target.Interior.ColorIndex = xlNone
End If
End Sub


Das Makro reagiert aber erst nach der vollständigen Eingabe (Enter) und nicht schon ab dem 46-ten Zeichen, während der Eingabe.

Gruß
Rainer
0 Punkte
Beantwortet von
er nimmt den Befehl nicht an.
Wenn ich ausführen möchte, existiert das Modul nicht, obwohl ich es angelegt habe......
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo,

er nimmt den Befehl nicht an.


... welchen Befehl meinst Du?

Der Code funktioniert indem Du in einer Zelle der Spalte C eine Zeichenfolge eingibst, so wie von Dir gewollt.

Allerdings gehört er in den Codebereich des relevanten Arbeitsblattes und nicht in einen allgemeinen Modul.

Gruß
Rainer
0 Punkte
Beantwortet von
hm -ich habe mit dem Code ein Modul für Arbeitsblatt angelegt. aber das klappt nicht.

hatten wir uns richtig verstanden? Mein arbeitsblatt ist ja schon vollständig ausgefüllt...

Was hälst du von der Idee über die bedingte Formatierung zu gehen?
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo,

ich war natürlich der Meinung, dass ein User der ein Makro anfordert zumindest mit dem elementarsten VBA-Wissen ausgestattet ist.

Da dem offensichtlich nicht so ist und ich mir große Erklärungen sparen will, hänge ich Dir ein Beispiel an.

Das Makro reagiert jetzt auf einen markierten Bereich und färbt Zeichenfolgen > 45 rot.

Markiere also einfach einen beliebigen Bereich in Spalte C.
Das geht auch in anderen Spalten, vorausgesetzt sie enthalten Text.

Das Makro siehst Du durch einen Rechtsklick auf den Tabellenreiter und dann "Code anzeigen" wählen.

Gruß
Rainer
0 Punkte
Beantwortet von
Hallo Rainer,

sorry, da hätte ich mich vielleicht direkt als Newby outen sollen :-(
bin kein Excel-Mensch - muss mich aber gerade im Büro wegen Softwareumstellung gezwungenermaßen damit auseinandersetzen und habe schnell festgestellt, dass mit VBA so ziemlich alles möglich ist. Gerade bei meinen Datenmengen ist das halt - wie du sicher noch viel besser als ich weißt - soooo hilfreich :-) bin ja völlig begeistert!!!

Wo finde ich das Beispiel?

LG
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo,

sorry, das hatte ich in der Hektik vergessen.

Hier ist es

Gruß
Rainer
0 Punkte
Beantwortet von
Lieber Rainer,

vielen vielen Dank! ! ! du hast mir sehr geholfen.

LG
...