Anzeige
Archiv - Navigation
1152to1156
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

Zeichenlänge von Zellen in Spalten ausgeben

Zeichenlänge von Zellen in Spalten ausgeben
Zellen
Hallo liebe Forenuser,
ich habe wieder ein kleines Problem:
Ich würde gerne in einem Excel-Tabellenblatt die Zeichenlängen (=LÄNGE()?) von einigen Spalten kontrollieren und ausgeben (vielleicht mit Zeilennummer), wenn hier ein gewisser Wert überschritten wird.
Diese Spalten sind nicht alle nebeneinander.
Schön wäre es, wenn ich gleich alle Tabellenblätter in dem Excel-File auf ein mal kontroillieren könnte.
Wie kann ich das mit einem Script vereinfachen, ohne überall die Funktion =LÄNGE() verwenden zu müssen.
Hier im Forum habe ich nicht wirklich etwas Passendes gefunden.
Danke im Voraus.
LG, Helmut
AW: Zeichenlänge von Zellen in Spalten ausgeben
07.05.2010 08:25:09
Zellen
Hallo Helmut,
ich sehe nicht was Du willst. Willst Du eine Tabelle wo alle Zellen mit Tabellenname aufgeführt werden die länder als eine bestimmte Länge sind? Das ist wohl VBA.
Oder möchtest Du alle Zelen kennzeichnen die das erffüllen? Bedinbte Formatierung.

AW: Zeichenlänge von Zellen in Spalten ausgeben
07.05.2010 09:27:09
Zellen
Hallo Hajo,
ja, ich will eine Ausgabe der Zeilen, in denen in den geprüften Spalten die Zelleninhaltslänge länger als eine geprüfte Zeichenlänge ist.
Genauer:
Ich habe ein Tabellenblatt mit ca. 20 Spalten, die alle mit Werten und Texten befüllt sind.
Ich will nun in 8 Spalten, die nicht nebeneinander liegen, überprüfen, ob die Zelleninhalte eine gewisse Anzahl von Zeichen (40) überschreitet.
Wenn dies der Fall ist, soll das ausgegeben werden. Die Ausgabe kann auch im selben Tabellenblatt erfolgen. Z.B. in einer Spalte ganz hinten; oder
auch in einem neuen Tabellenblatt mit Angabe der Zelle, in der die Zeichenlänge überschritten wird. Ist mit prinzipiell gleich.
Da ich meherer Tabellenblätter in dem Excel-File habe wäre es schön, wenn das VBA-Script gleich alle Tabellenblätter prüft. Ist aber nur Draufgabe.
Danke mal vorerst. Ich hoffe das war verständlicher.
LG, Helmut
Anzeige
AW: Zeichenlänge von Zellen in Spalten ausgeben
07.05.2010 09:30:50
Zellen
Hallo Helmut,
es ist verständlicher, aber ein wenig aufwendig.
Sind es in allen Tabellen die gleichen Bereiche?
Sind es mehr 65535 Zellen die je Tabelle geprüft werden sollen?
Gruß Hajo
AW: Zeichenlänge von Zellen in Spalten ausgeben
07.05.2010 09:34:53
Zellen
Hi,
in allen Tabellenblättern sind es die gleichen Bereiche, ja!
Es sind nicht mehr als 65535 Zeilen; maximal 4000. Kann man hier eventuell UsedRange einsetzen?
LG, Helmut
AW: Zeichenlänge von Zellen in Spalten ausgeben
07.05.2010 09:37:30
Zellen
Hallo Helmut,
Du hastest geschrieben bestimmte Zellen, jetzt UsedRange. Sollen alle ausgefüllten getestet werden?
Gruß Hajo
Anzeige
AW: Zeichenlänge von Zellen in Spalten ausgeben
07.05.2010 10:05:08
Zellen
Hallo Helmut,
Option Explicit             ' Variablendefinition erforderlich
Sub Helmut()
'* H. Ziplies                                     *
'* 07.05.10                                       *
'* erstellt von HajoZiplies@web.de                *
'* http://Hajo-Excel.de/
' Füllfarbe
' für Schrift RaZelle.Font.ColorIndex
Dim RaBereich As Range, RaZelle As Range
Dim WsTabelle As Worksheet
Dim LoZeile As Long
Dim LoSpalte As Long
' Bereich der Wirksamkeit
Set RaBereich = Range("L1:M39, O21:O26")
' noch mehr Bereiche
'Set RaBereich = Union(Range("C11:AG11 , C13:AG13, C15:AG15 , C17:AG17 , C19:AG19 ,  C21: _
AG21 , C27:AE27 , C29:AE29, C31:AE31, C33:AE33"), _
'    Range("C35:AE35, C37:AE37, C43:AG43, C45:AG45 , C47:AG47 , C49:AG49 ,C51:AG51 , C53: _
AG53 , C59:AF59 , C61:AF61 , C63:AF63 , C65:AF65"), _
'    Range("C67:AF67 , C69:AF69 , C75:AG75 , C77:AG77 , C79:AG79 , C81:AG81 , C83:AG83 ,  _
C85:AG85 ,C91:AF91 , C93:AF93 , C95:AF95 , C97:AF97"), _
'    Range("C99:AF99 , C101:AF101, C107:AG107 , C109:AG109 , C111:AG111 , C113:AG113 , C115: _
AG115 , C117:AG117 , C123:AG123 , C125:AG125"), _
'    Range("C127:AG127 , C129:AG129 , C131:AG131 , C133:AG133 , C139:AF139 , C141:AF141 ,  _
C143:AF143 , C145:AF145 , C147:AF147 , C149:AF149"), _
'    Range("C155:AG155, C157:AG157 , C159:AG159 , C161:AG161 , C163:AG163 , C165:AG165 ,  _
C171:AF171 , C173:AF173 , C175:AF175 , C177:AF177 "), _
'    Range("C179:AF179 , C181:AF181, C187:AG187 , C189:AG189 , C191:AG191 , C193:AG193 ,  _
C195:AG195 , C197:AG197"))
Worksheets.Add          ' neue Tabelle
For Each WsTabelle In Worksheets
LoZeile = 0
If ActiveSheet.Name  WsTabelle.Name Then
Cells(1, LoSpalte + 1) = WsTabelle.Name
LoZeile = LoZeile + 1
With WsTabelle
For Each RaZelle In RaBereich
If Len(.Range(RaZelle.Address)) > 40 Then
Cells(LoZeile + 1, LoSpalte + 1) = RaZelle.Address
LoZeile = LoZeile + 1
End If
Next RaZelle
End With
LoSpalte = LoSpalte + 1
End If
Next WsTabelle
Set RaBereich = Nothing
End Sub
Gruß Hajo
Anzeige
AW: Zeichenlänge von Zellen in Spalten ausgeben
07.05.2010 11:00:53
Zellen
Hi Hajo,
super!! Danke dir, funkt super!!!!
LG, Helmut

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige