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

Spalte: nur bestimmte Zeichen und Länge

Spalte: nur bestimmte Zeichen und Länge
04.10.2003 16:17:38
Peter
Hallo,

ich möchte gerne die Eingabe von Zeichen in einer Spalte begrenzen. Es sollen nur die Zeichen A-Z, a-z und der Bindestrich erlaubt werden und die Textlänge auf 12 Zeichen begrenzt werden. STRG-C soll funktionieren. Geht wohl nur über VBA-Code... habe von VBA leider keine Ahnung.... Hat denn jemand einen Beispiel-Code für mich ?

Danke,

Gruß

Peter

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalte: nur bestimmte Zeichen und Länge
04.10.2003 18:28:04
Nepumuk
Hallo Peter,
das prüfen wärend der Eingabe geht nicht. Nach der Eingabe, kann der Zellinhalt geprüft werden. Würde das reichen?
Gruß
Nepumuk
AW: Spalte: nur bestimmte Zeichen und Länge
04.10.2003 19:35:26
Peter
Hallo Nepumuk,

ja klar, nach dem ich etwas in die Zelle geschrieben habe drücke ich return oder verlasse diese. Somit kann die Prüfung anschließend erfolgen.
Wichtig ist, das ich auch Daten aus einer anderen Zelle mit STRG-C reinkopieren kann.
-> Gültigkeitsprüfung funktioniert ja nur bei manueller Eingabe...

Danke,

Gruß

Peter
AW: Spalte: nur bestimmte Zeichen und Länge
04.10.2003 20:18:48
Reinhard
Hi Peter,
Alt-F11, dann im Editor oppelt auf "Diese Arbeitsmappe " klicken und einfügen.
Die Zeile: If Target.Column <> 4 Then Exit Sub
ggfs. anpassen auf deine gewünschte Spalte, A=1, B=2, C=3, usw.
Gruß
Reinhard

Option Explicit


Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim n As Long
Dim Fehler As Boolean
If Target.Column <> 4 Then Exit Sub ' Nur Salte 4 überprüfen, also "D"
Fehler = False
For n = 1 To Len(Target.Value)
Select Case LCase(Mid(Target.Value, n, 1))
Case Is > Asc("z"), Is < Asc("a"), Is <> "-"
Fehler = True
End Select
Next n
If Len(Target.Value) > 12 Or Fehler = True Then
MsgBox "Nur ""A-Z"", ""a-z"". und ""-"""
Target.ClearContents
Target.Select
End If
End Sub

Anzeige
AW: Spalte: nur bestimmte Zeichen und Länge
04.10.2003 20:41:57
Peter
Hallo Reinhard,

danke für das Makro. Irgendetwas scheint noch falsch zu sein...
Es tut noch nicht so richtig...

Gruß

Peter
AW: Spalte: nur bestimmte Zeichen und Länge
04.10.2003 21:03:16
Nepumuk
Hallo Peter,
es ist nicht ganz optimal, wenn du z.B. in drei Zellen gleichzeitig etwas eingibst, kommt die Meldung nach jeder Korrektur nochmal. Aber so auf die schnelle ging es nicht besser. Überwacht wir Spalte A

https://www.herber.de/bbs/user/1289.xls

Gruß
Nepumuk
AW: Spalte: nur bestimmte Zeichen und Länge
05.10.2003 08:46:31
Peter
Hallo Nepumuk,

Dein Code gefällt mir sehr gut. Es ist nur noch irgendwo ein kleiner Fehler drin, denn die Eingabe falscher Zeichen gefolgt von einem zugelassenen z.B. "%%A" funktioniert...
Kannst Du bitte nochmal über den Code schauen ?

Danke,

Gruß

Peter
Anzeige
AW: Spalte: nur bestimmte Zeichen und Länge
05.10.2003 09:09:01
Peter
Hallo Nepumuk,

ich hab´s... for-Schleife mit "Exit For" beenden, falls not_ok=true... ;-)

Gruß

Peter
AW: Spalte: nur bestimmte Zeichen und Länge
05.10.2003 00:15:00
Josef Ehrensberger
Hallo Peter,

ich hab das Makro von Nepumuk ein bisschen verändert,
probier mal ob du jetzt besser damit arbeiten kannst.

Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
Dim n As Long
Dim Fehler As Boolean
If Target.Column <> 4 Or Target.Count > 1 Then Exit Sub ' Nur Salte 4 überprüfen, also "D"
If Target <> "" Then
Fehler = False
For n = 1 To Len(Target)
Select Case Asc(LCase(Mid(Target, n, 1)))
Case 97 To 122, 45
'Fehler = Fehler
Case Else
Fehler = True
End Select
Next n
End If
If Len(Target) > 12 Or Fehler = True Then
MsgBox "Nur ""A-Z"", ""a-z"" und ""-""" & vbLf & _
"   Maximal 12 zeichen!", vbExclamation + vbOKOnly, "Falsche Eingabe"
Target.ClearContents
Target.Select
End If
End Sub


Gruß Sepp
Anzeige
AW: Spalte: nur bestimmte Zeichen und Länge
05.10.2003 07:20:33
Nepumuk
Hallo Sepp,
da bekommst du aber immer einen Programmfehler, wenn du mehrere Werte einfügst, oder mehrere Zellen markierst, einen Wert eingibst und mit Strg+Enter bestätigst.
Gruß
Nepumuk
AW: Spalte: nur bestimmte Zeichen und Länge
05.10.2003 08:15:13
Josef Ehrensberger
Hallo Nepumuk,

kann nicht nachvollziehen warum du immer einen Fehler bekommst.

Bei mir funktioniert das ganz prima, nur beim gleichzeitigen einfügen
mehrerer Werte, wird die überprüfung ausgehebelt und auch falsche eingaben
zugelassen.

Gruß Sepp

278 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige