Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1368to1372
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

Spaltenweise Zellen auf Zeichen beschränken

Spaltenweise Zellen auf Zeichen beschränken
02.07.2014 08:29:04
Hans Huerbel

Guten Morgen.
Hatte vor einiger Zeit schon einmal das Thema aufgegriffen. Wurde folgendermaßen gelöst.
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngRange As Range
Dim blnTMP As Boolean
On Error GoTo Fin
Application.EnableEvents = False
If Not Intersect(Target, Range("L:L, N:N, P:P, AH:AH")) Is Nothing Then
Select Case Target.Column
Case 12, 14
For Each rngRange In Target
If Len(rngRange.Value) > 30 Then
rngRange.Value = Left(rngRange.Value, 30)
blnTMP = True
End If
Next rngRange
If blnTMP = True Then MsgBox "Text in " & Target.Address(0, 0) & _
" darf nur 30 Zeichen lang sein!"
Case 16
For Each rngRange In Target
If Len(rngRange.Value) > 12 Then
rngRange.Value = Left(rngRange.Value, 12)
blnTMP = True
End If
Next rngRange
If blnTMP = True Then MsgBox "Text in " & Target.Address(0, 0) & _
" darf nur 12 Zeichen lang sein!"
Case 34
For Each rngRange In Target
If Len(rngRange.Value) > 7 Then
rngRange.Value = Left(rngRange.Value, 7)
blnTMP = True
End If
Next rngRange
If blnTMP = True Then MsgBox "Text in " & Target.Address(0, 0) & _
" darf nur 7 Zeichen lang sein!"
End Select
End If
Fin:
Application.EnableEvents = True
End Sub
Nun zu meiner Frage.
In dem Code überwache ich Spaltenweiße. Jedoch habe ich im oberen Bereich einen Kopf den ich nicht Zeichen beschrenken will. Somit würde ich gerne z.B. erst ab N22 bis evtl. N123 beschränken. Kann mir einer sagen wie ich das realisieren kann?
Ein weiteres Problem ist das wenn ich Zelleinträge kopiere. Wenn ich z.B. Zellen P30 bis W30 markieren und kopiere und hierbei ist die Spalte P auf 12 Zeichen beschränkt, dann kürzt mir mein Makro alle Zelleinträge auf diese 12 Zeichen obwohl ich in anderen mehr Zeichen zulassen will.
Vielen Dank schon mal im voraus!
LG Hans

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spaltenweise Zellen auf Zeichen beschränken
02.07.2014 09:49:03
UweD
Hallo Hans
so???
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngRange As Range
Dim rngTarget As Range
Dim blnTMP As Boolean
On Error GoTo Fin
Set rngTarget = Range("L:L, N22:N123, P:P, AH:AH") 'Überwachungsbereich
Application.EnableEvents = False
If Not Intersect(Target, rngTarget) Is Nothing Then
Select Case Target.Column
Case 12, 14
For Each rngRange In Intersect(Target, rngTarget)
If Len(rngRange.Value) > 30 Then
rngRange.Value = Left(rngRange.Value, 30)
blnTMP = True
End If
Next rngRange
If blnTMP = True Then MsgBox "Text in " & Target.Address(0, 0) & _
" teilweise auf 30 Zeichen gekürzt!"
Case 16
For Each rngRange In Intersect(Target, rngTarget)
If Len(rngRange.Value) > 12 Then
rngRange.Value = Left(rngRange.Value, 12)
blnTMP = True
End If
Next rngRange
If blnTMP = True Then MsgBox "Text in " & Target.Address(0, 0) & _
" teilweise auf 12 Zeichen gekürzt!"
Case 34
For Each rngRange In Intersect(Target, rngTarget)
If Len(rngRange.Value) > 7 Then
rngRange.Value = Left(rngRange.Value, 7)
blnTMP = True
End If
Next rngRange
If blnTMP = True Then MsgBox "Text in " & Target.Address(0, 0) & _
" teilweise auf 7 Zeichen gekürzt!"
End Select
End If
Fin:
Application.EnableEvents = True
End Sub

Anzeige
AW: Spaltenweise Zellen auf Zeichen beschränken
02.07.2014 10:16:36
Hans Huerbel
Vielen Dank UweD.
Manchmal sieht man den Wald vor lauter Bäumen nicht.
LG Hans

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige