Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1080to1084
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

Eingabebeschränkung per ASCII in Tabellenblatt

Eingabebeschränkung per ASCII in Tabellenblatt
21.06.2009 20:37:51
Lenni
Moin Excellianer!
Wie könnte man per VBA in einem festen Tabellenbereich (z.B. "B10:D150") es realisieren, dass mit der ASCII-Codierung nur die Zeichen 73, 77, 86 und 88 zugelassen werden? Diese Nummern entsprechen den Großbuchstaben I, M, V und X.
Wenn etwas anderes eingegeben wird, dann sollte eine MsgBox auf die Eingabebeschränkung aufmerksam machen.
Vielen Dank für Eure Hilfe!!
Viele Grüße aus dem hohen Norden!
Lenni

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eingabebeschränkung per ASCII in Tabellenblatt
21.06.2009 21:01:10
Josef
Hallo Lenni,
' **********************************************************************
' Modul: Tabelle3 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim bolNotValid As Boolean
  
  On Error GoTo ErrExit
  Application.EnableEvents = False
  If Not Intersect(Target, Range("B10:D150")) Is Nothing Then
    If Target.Count > 1 Then
      bolNotValid = True
    ElseIf Len(Target) > 1 Then
      bolNotValid = True
    ElseIf Not Target Like "[IMVX]" Then
      bolNotValid = True
    End If
  End If
  If bolNotValid Then
    MsgBox "Ungültige Eingabe!", vbExclamation, "Hinweis"
    Application.Undo
  End If
  ErrExit:
  Application.EnableEvents = True
End Sub

Gruß Sepp

Anzeige
AW: Eingabebeschränkung per ASCII in Tabellenblatt
21.06.2009 21:25:40
Lenni
Moin Josef!! ...danke für Deine Rückmeldung!!
Das funktioniert sehr gut... ...aber leider begrenzt! Es wird dann nur 1 Zeichen pro Zelle zugelassen.
Bei TextBoxen in UserForms ist es mir schon gelungen per ASCII-Anweisung selektierte Zeichen zuzulassen. Und deshalb dachte ich, das muss doch auch mit Tabellen-Zellen gehen... ...aber meine beschränkten VBA-Kenntnisse...
Hast Du noch eine andere Idee? Danke!
--------------------------------
Aber da "brennt mir noch etwas unter den Fingernägeln": Mit Schmunzeln nehme ich Deine Selbsteinschätzung bzgl. des Excel-Levels: "Excel gut - VBA bescheiden" wahr.
Ganz ehrlich Josef: Wenn ich das mit meinem Excel-Stand vergleiche, kann ich das nicht so stehen lassen! Josef! ...Du hast doch wesentlich mehr drauf als "Excel gut - VBA bescheiden"... ..."Excel-Profi - VBA-Profi" ist doch bei Dir eher angebracht! Oder?! :-))
Gruß
Lenni

Anzeige
AW: Eingabebeschränkung per ASCII in Tabellenblatt
21.06.2009 21:48:01
Josef
Hallo Lenni,
hatte es so verstanden, das immer nur ein Zeichen eingegeben werden soll.
So können bis zu vier gültige Zeichen eingegeben werden.
' **********************************************************************
' Modul: Tabelle3 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim bolNotValid As Boolean, lngIndex As Long
  
  On Error GoTo ErrExit
  Application.EnableEvents = False
  If Not Intersect(Target, Range("B10:D150")) Is Nothing Then
    If Target.Count > 1 Then
      bolNotValid = True
    ElseIf Len(Target) > 0 And Len(Target) < 5 Then
      For lngIndex = 1 To Len(Target)
        Select Case Asc(Mid(Target, lngIndex, 1))
          Case 73, 77, 86, 88
          Case Else
            bolNotValid = True
            Exit For
        End Select
      Next
    Else
      bolNotValid = True
    End If
  End If
  If bolNotValid Then
    MsgBox "Ungültige Eingabe!", vbExclamation, "Hinweis"
    Application.Undo
  End If
  ErrExit:
  Application.EnableEvents = True
End Sub

Zum Level:
Im Thread siehst du immer die Levelangabe des Fragestellers, also deine.
Ich werde mich aber nie als Excel- oder VBA-Profi bezeichnen, erstens weil ich das sicher nicht bin und zweitens weil ich Excel/VBA nur als Hobby betreibe.
Gruß Sepp

Anzeige
Danke Josef!! Funktioniert!
21.06.2009 22:04:07
Lenni
...und wenn ich "Len(Target)" auf z.B. 8 oder anders setze, kann ich die Gesamteingabe sogar verändern! SUPER!
Vielen vielen Dank Josef!!
----------------------
Wegen dem Level: Das das Level des Fragestellers erscheint, war mir so nie so ersichtlich.
Aber Deine Bescheidenheit in allen Ehren: Wenn ich Deine Hilestellungen mit meinem Kenntnisstand vergleiche, dann ziehe ich voller Respekt "meinen Hut"!!
Vielen Dank noch mal Josef!!
Gruß
Lenni

und Daten Gültigkeit ... fällt definitiv aus ? oT
21.06.2009 21:02:05
Matthias
AW: und Daten Gültigkeit ...?
21.06.2009 21:28:47
Lenni
Moin Matthias!
Danke für Deinen Anreiz! ...so entfernt kann ich mir vorstellen, was Du meinst. Das wäre ja ohne VBA. Oder?!
Kannst Du Deine Idee vielleicht konkretisieren?! Danke!
Gruß
Lenni

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige