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

Forumthread: Eingabe erzwingen wenn Nachbarzelle nicht leer

Eingabe erzwingen wenn Nachbarzelle nicht leer
18.09.2014 09:16:14
Christop
Hallo zusammen, ich habe mit viel Interesse den Beitrag "Eingabe erzwingen wenn Nachbarzelle nicht leer" vom 08.08.2014 gelesen, da ich auch dieses Problem habe. Ich müßtte allerdings in einem Tabelleblatt 3 "Zellenpaare" überwachen also:
wenn in Zelle AE eine Eingabe ist soll Zelle Af, wenn Zelle AG dann Zelle AH und wenn Zelle AI dann Zelle AJ zwingend eien Eingabe haben. Leider ist VBA nicht mein Ding. Ich könnte mir aber vorstellen, das das hier schon gezeigte Makro nur "etwas " aufgbohrt werden müßte..? Wäre super hier Hilfe zu bekommen.
Gruß & Danke schon mal vorab.
Christoph

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Eingabe erzwingen wenn Nachbarzelle nicht leer
18.09.2014 10:17:01
yummi
Hallo Christoph,
du hast recht das Makro muss aufgebohrt werden. Wenn das jemand machen soll, dann lad mal die Datei hoch (das unaufgebohrte Makro sollte drin sein)
Gruß
yummi

AW: Eingabe erzwingen wenn Nachbarzelle nicht leer
19.09.2014 07:50:10
Christoph
Hi Yummi,
habe das file mal hochgeladen. Habe den code 1:1 übenrommen und keine Anpassung gemacht
Gaaaaaaanz vielen Dank an alle die helfen:

Die Datei https://www.herber.de/bbs/user/92720.xlsm wurde aus Datenschutzgründen gelöscht


Anzeige
AW: Eingabe erzwingen wenn Nachbarzelle nicht leer
19.09.2014 13:07:23
yummi
Hallo Christoph,
hab dir das mal angepasst, konnte es aber nicht richtig testen, da deine Listeninhalte in eienr anderen Datei sind und somit kann ich gar nichts eingeben in deien "Zwangfelder" weil nix akzeptiert wird. WEiß nicht ob das so gewollt ist, wenn nicht musst du deine erlaubten Eingabe für die Dropdown Felder anpassen.
Gruß
yummi
https://www.herber.de/bbs/user/92726.xlsm

Anzeige
AW: Eingabe erzwingen wenn Nachbarzelle nicht leer
22.09.2014 08:06:17
Christoph
Hallo Yummi,
das funzt einwandfrei, vielen dank! Ich glaube, ich werde mich dann doch mal mit VBA auseinandersetzen.
VG
Christoph

AW: Eingabe erzwingen wenn Nachbarzelle nicht leer
18.09.2014 10:35:50
Rudi
Hallo,
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Column
Case 31, 33, 35
If Target  "" Then
Target.Offset(, 1).Select
Set rngLast = ActiveCell
Else
Set rngLast = Nothing
End If
End Select
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not rngLast Is Nothing Then
If Target.Address  rngLast.Offset(, -1).Address Then
If rngLast = "" Then
rngLast.Select
Else
Set rngLast = Nothing
End If
End If
End If
End Sub

Gruß
Rudi

Anzeige
AW: Eingabe erzwingen wenn Nachbarzelle nicht leer
22.09.2014 08:05:18
Christoph
Hallo Rudi,
Danke für die Hilfe! Habe da prima nutzen können.
VG
Christoph
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Eingabe erzwingen, wenn Nachbarzelle nicht leer


Schritt-für-Schritt-Anleitung

Um eine Eingabe in einer Zelle zu erzwingen, wenn eine benachbarte Zelle nicht leer ist, kannst du folgendes VBA-Makro verwenden. Dies funktioniert in Excel und ermöglicht es, dass ein Excel-Feld nicht leer sein darf. Folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke im Projektfenster auf das entsprechende Tabellenblatt, in dem du die Regel anwenden möchtest.

  3. Füge den folgenden Code in das Codefenster ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       Select Case Target.Column
           Case 31, 33, 35 ' Spalten AE, AG, AI
               If Target <> "" Then
                   Target.Offset(, 1).Select ' Zelle AF, AH, AJ
                   Set rngLast = ActiveCell
               Else
                   Set rngLast = Nothing
               End If
       End Select
    End Sub
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       If Not rngLast Is Nothing Then
           If Target.Address <> rngLast.Offset(, -1).Address Then
               If rngLast = "" Then
                   rngLast.Select
               Else
                   Set rngLast = Nothing
               End If
           End If
       End If
    End Sub
  4. Schließe den VBA-Editor und speichere die Datei als Makro-fähige Arbeitsmappe (.xlsm).

  5. Teste die Funktion, indem du in die Zellen AE, AG oder AI Werte eingibst und sicherstellst, dass die benachbarten Zellen eine Eingabe erfordern.


Häufige Fehler und Lösungen

  • Problem: Excel zeigt an, dass kein Eintrag in Zelle möglich ist.

    • Lösung: Überprüfe, ob das Makro korrekt eingebettet ist und ob die richtige Tabelle ausgewählt ist.
  • Problem: Zellen lassen sich nicht auswählen, obwohl sie nicht leer sind.

    • Lösung: Stelle sicher, dass die Dropdown-Felder korrekt konfiguriert sind, damit die Eingaben akzeptiert werden.

Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du auch die Datenüberprüfung in Excel nutzen:

  1. Wähle die Zelle aus, die die Eingabe erzwingen soll.
  2. Gehe zu Daten > Datenüberprüfung.
  3. Wähle Benutzerdefiniert und gib die folgende Formel ein:

    =WENN(AE1<>"",ISTEXT(AF1),WAHR)

    (Ersetze AE1 und AF1 durch die entsprechenden Zelladressen.)

Diese Methode ist zwar weniger flexibel, aber eine gute Option, wenn du keine Programmierung verwenden möchtest.


Praktische Beispiele

Nehmen wir an, du hast folgende Zellenpaare:

  • AE1 und AF1: Wenn AE1 nicht leer ist, muss AF1 einen Wert haben.
  • AG1 und AH1: Wenn AG1 nicht leer ist, dann muss AH1 ausgefüllt werden.
  • AI1 und AJ1: Wenn AI1 nicht leer ist, dann muss AJ1 ebenfalls gefüllt werden.

Füge einfach den VBA-Code ein, um sicherzustellen, dass diese Bedingungen eingehalten werden.


Tipps für Profis

  • Achte darauf, deine Arbeitsmappe regelmäßig zu sichern, insbesondere wenn du mit VBA arbeitest.
  • Nutze die Debug.Print-Funktion in deinem Code, um Probleme zu identifizieren und den Fluss deines Makros zu überwachen.
  • Experimentiere mit verschiedenen Bedingungen in der Datenüberprüfung, um die Eingaben noch genauer zu steuern.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass ein Excel-Feld nicht leer sein darf? Um sicherzustellen, dass ein Excel-Feld nicht leer sein darf, kannst du die oben beschriebene VBA-Methode oder die Datenüberprüfung verwenden.

2. Was tun, wenn der VBA-Code nicht funktioniert? Überprüfe, ob das Makro korrekt in das richtige Tabellenblatt eingefügt wurde, und stelle sicher, dass die Datei im .xlsm-Format gespeichert ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige