Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Nur eeinen Buchstaben zulassen

Nur eeinen Buchstaben zulassen
24.04.2017 11:44:13
walter
Hallo,
ich habe dieses Makro für mein Bedarf gefunden, kann es aber nicht
ändern.
Private Sub ggWorksheet_SelectionChange(ByVal Target As Range)
Dim row As Integer
Dim col As Integer
For row = 10 To 30
For col = 10 To 30
'If Cells(row, col)  "s" And Cells(row, col)  "x" And Cells(row, col)  "u" Then Cells(row, _
col) = ""
'If Cells(row, col)  "w" And Cells(row, col)  = ""
Next col
Next row
End Sub
Ich möchte in einem bestimmten Bereich z.b. A10:H30 und A39:H45,
ein w in die Zelle setzen kann.
mfg
walter mb
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Daten - Datenprüfung, statt VBA! (owT)
24.04.2017 11:47:38
EtoPHG

Daten - Datenprüfung, statt VBA! (owT)
24.04.2017 11:47:38
EtoPHG

AW: Nur eeinen Buchstaben zulassen
24.04.2017 11:48:27
Daniel
Hi
machst du ohne Makro.
hierfür verwendet man DATEN - DATENTOOLS - DATENÜBERPRÜFUNG
und legt dort die zugelassenen Buchstaben fest:
- ZULASSEN: Liste
- QUELLE: w
Gruß Daniel
Anzeige
geht das den auch mit Makro ?
24.04.2017 11:53:54
walter
Hallo zusammen,
gibt es den ein Beispiel mit Makro, was ich verstehen kann.
gruß
walter mb
nein ;-) (owT)
24.04.2017 12:03:53
EtoPHG

Schade !!! -)
24.04.2017 12:07:04
walter
Anzeige
AW: klar geht das auch mit VBA
24.04.2017 12:14:05
Matthias
Hallo
Vermutlich bezog sich Deine Antwort nur aufs Verstehen
;-)
Gruß Matthias
ja...
24.04.2017 12:47:34
UweD
hallo
das ginge so...
- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- Diesen Code dort reinkopieren
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Fehler
    If Not Intersect(Union(Range("A10:H30"), Range("A39:H45")), Target) Is Nothing Then
        If Target <> "w" Then
            With Application
                .EnableEvents = False
                .Undo
                .EnableEvents = True
            End With
            MsgBox ("Fehler Engabe") ' kann auch weg 
        End If
    End If
    Err.Clear
Fehler:
    Application.EnableEvents = True
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & vbLf & Err.Description: Err.Clear
End Sub

Gruß UweD
Über Rückmeldungen würde ich mich freuen
Anzeige
falls du das w auch mal löschen möchtest...
24.04.2017 12:51:03
UweD
dann tausche die eine Zeile noch aus...
        If Target  "w" And Target  "" Then

LG UweD
AW: und wenn der Anwender auch mal..
24.04.2017 13:07:00
Daniel
... mehrere Zellen gleichzeitig ändert, z.B. beim Löschen oder durch das Einfügen mit Copy-Paste, dann müsste man den Code noch so umändern, damit der Code nicht in einen Fehler läuft:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zelle As Range
Dim Bereich As Range
Set Bereich = Range("A10:H30,A39:H45")
If Not Intersect(Target, Bereich) Is Nothing Then
For Each Zelle In Intersect(Target, Bereich)
Select Case Zelle.Value
Case "", "w", "W"
Case Else
Application.EnableEvents = False
Zelle.ClearContents
Application.EnableEvents = True
End Select
Next
End If
End Sub
Gruß Daniel
Anzeige
War 2 Tage nicht da, DANKE an Alle ! Super --))
26.04.2017 08:52:21
walter

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Nur bestimmte Buchstaben in Excel zulassen


Schritt-für-Schritt-Anleitung

Um in Excel nur bestimmte Buchstaben wie "w" in bestimmten Zellen zuzulassen, kannst Du die Datenüberprüfung verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Bereich auswählen: Markiere den Bereich, in dem Du nur bestimmte Eingaben zulassen möchtest (z.B. A10:H30 und A39:H45).

  2. Datenüberprüfung öffnen:

    • Gehe zu Daten in der Menüleiste.
    • Wähle Datenüberprüfung unter den Datentools.
  3. Einstellungen festlegen:

    • Wähle im Dropdown-Menü bei „Zulassen“ die Option Liste.
    • Gib in das Feld „Quelle“ den Buchstaben ein, den Du zulassen möchtest (in diesem Fall „w“).
  4. Bestätigen: Klicke auf OK, um die Einstellungen zu speichern.

Jetzt kannst Du nur den Buchstaben "w" in den ausgewählten Zellen eingeben.


Häufige Fehler und Lösungen

  • Fehler: Es wird eine falsche Eingabe akzeptiert.

    • Lösung: Überprüfe die Datenüberprüfungseinstellungen und stelle sicher, dass die Quelle korrekt angegeben ist.
  • Fehler: Mehrere Zellen gleichzeitig ändern funktioniert nicht.

    • Lösung: Verwende VBA, um auch bei mehreren Zellen nur bestimmte Eingaben zuzulassen. Ein Beispiel findest Du im Abschnitt „Alternative Methoden“.

Alternative Methoden

Wenn Du VBA verwenden möchtest, um bestimmte Buchstaben in Excel zuzulassen, kannst Du das folgende Makro verwenden:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Zelle As Range
    Dim Bereich As Range
    Set Bereich = Range("A10:H30,A39:H45")
    If Not Intersect(Target, Bereich) Is Nothing Then
        For Each Zelle In Intersect(Target, Bereich)
            Select Case Zelle.Value
                Case "", "w", "W"
                Case Else
                    Application.EnableEvents = False
                    Zelle.ClearContents
                    Application.EnableEvents = True
            End Select
        Next
    End If
End Sub

Dieses Makro löscht alle Werte in den angegebenen Zellen, die nicht „w“ oder „W“ sind.


Praktische Beispiele

Stell Dir vor, Du möchtest in einem Arbeitsblatt nur den Buchstaben "w" in einem Bereich von Zellen zulassen. Hier ist ein Beispiel, wie Du dies umsetzen kannst:

  1. Wähle die Zellen von A10 bis H30 und A39 bis H45.
  2. Nutze die oben angegebene Datenüberprüfungsmethode oder das VBA-Makro.
  3. Prüfe, ob die Eingabe auf "w" beschränkt ist, und teste das Verhalten beim Versuch, andere Buchstaben einzugeben.

Tipps für Profis

  • Wenn Du mehrere Buchstaben zulassen möchtest, kannst Du die Datenüberprüfung entsprechend anpassen und eine Liste von zulässigen Buchstaben angeben, z.B. "w,a,b,c".

  • Nutze VBA, um komplexere Validierungsregeln zu erstellen, z.B. nur Großbuchstaben zuzulassen. Hierzu kannst Du die Funktion UCase verwenden, um sicherzustellen, dass die Eingabe immer in Großbuchstaben erfolgt.

  • Achte darauf, die Ereignisse zu aktivieren und zu deaktivieren, wenn Du mit VBA arbeitest, um unnötige Fehlermeldungen zu vermeiden.


FAQ: Häufige Fragen

1. Kann ich mehrere Buchstaben gleichzeitig zulassen? Ja, Du kannst in der Datenüberprüfung eine Liste von erlaubten Buchstaben angeben, z.B. „w,a,b,c“.

2. Wie kann ich sicherstellen, dass nur Großbuchstaben eingegeben werden? Du kannst ein VBA-Makro verwenden, das die Eingaben in Großbuchstaben umwandelt. Verwende die Funktion UCase im Makro.

3. Was passiert, wenn ich keine Eingaben mache? Wenn Du die Datenüberprüfung korrekt eingerichtet hast, wird eine leere Eingabe akzeptiert, solange Du dies in den Einstellungen festgelegt hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige