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

Excel Eingabe erzwingen

Excel Eingabe erzwingen
04.07.2015 12:28:20
Sebastian
Hallo zusammen,
ich bin gerade dabei eine Auftragübersicht zu erstellen und muss die Eingabe in bestimmten Zellen per Drop Down (bereits über Gültigkeitsregeln erstellt) für bestimmte Zellen erzwingen. Nach einiger Recherche ist mir klar geworden das sowas nur mit vba makro realisierbar ist. Leider habe ich davon überhaupt keine große Ahnung. Vielleicht kann mir jemand dabei Helfen...
Folgendes:
Wenn in einer Reihe der Spalte C eine Auftragsnummer angelegt wurde, sollen die Eingaben in der gleichen Reihe ab der Spalte D bis W erzwungen werden. In der Spalte G und H wird ein Endtermin/Liefer KW per Kalender (Makro bereits vorhanden) ausgewählt. In eingen Zellen ist die Eingabe per Drop Down erstellt. In anderen wiederrum müssen werte eingegeben werden die begrenzt wurden.
Nach erfolgter Eingabe in C soll automatisch zur nächsten Zelle gesprungen werden um dort eine Eingabe zu machen. Ein verlassen der Zelle, wechsel des Tabellenblattes oder Schließen der Datei ist ohne vorherige Eingabe nicht möglich. Es soll ein Hinweisfenster erscheinen das erst ein Wert eingetragen werden muss und die jeweilige Zelle für die Eingabe immer markiert werden.
Nachdem alle Eingaben abgeschlossen wurden, kann man sich wieder frei in der Tabelle "bewegen". Wenn ein Wert in den besagten Zellen geändert wird soll gefragt werden ob die Änderung richtig ist und der alte sowie neue Wert angezeigt werden. Erst nach bestätigung kann der Wert geändert werden.
Eine Änderung des bereits eingegeben Datums muss begründet werden und de Begründung in einer Textbox eingegeben sowie angezeigt werden. Auch das Anfangsdatum sollte dann noch ersichtlich sein.
Eine Eingabe in den Spalten D bis W ist erst nach Eingabe der der Auftragsummer in Spalte C möglich.
Ich würde mich sehr freuen und wäre dankbar wenn mir an dieser Stelle jemand helfen und einen Ansatz liefern kann. Ich hoffe meine Vorstellungen sind überhaupt realisierbar... Ich muss für die Erstellung einer Statistik die richtigen Eingaben durch andere Mitarbeiter gewährleisten können.
Mit freundlichen Grüßen
Sebastian

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Eingabe erzwingen
04.07.2015 12:45:38
Sepp
Hallo Sebastian,
erstens, in Excel ist nichts sicher, was wenn einer die Datei mit deaktiviertem VBA öffnet?
Zweitens kling das nach Auftragsprogrammierung, jedenfalls zu Umfangreich für ein Forum.
Und drittens würde ich die Eingaben per UserForm vornehmen, das ist einfacher zu kontrollieren, als direkt in der Tabelle.
Gruß Sepp

AW: Excel Eingabe erzwingen
04.07.2015 13:12:55
KlausF
Hallo Sebastian,
nur mal so als Gedankenspiel:
[Ein verlassen der Zelle .... ist ohne vorherige Eingabe nicht möglich]
So würde man kaum programmieren. Wenn ich die vorige Zelle mit Enter verlasse und danach
feststelle, dass ich einen Fehler in meiner Eingabe getätigt habe, ist der natürliche Weg sofort
zurück zu gehen um die Eingabe zu korrigieren. Bei Deiner Vorgabe müsste ich erst alle anderen
Zellen abarbeiten. Das halte ich für praxisfremd ...
Gruß
Klaus

Anzeige
AW: Excel Eingabe erzwingen
04.07.2015 14:52:17
Frank
Hallo Sebastian,
1. Zustimmung zu Sepp (irgendwer findet sich aber meistens, was dann zu ellenlangen Threads ausartet, weil immer noch was dazukommt)
2. Zustimmung zu Klaus
3. Prüfung auf Einhaltung der Kriterien bei Change-Ereignis/SelectionChange-Ereignis. Da kann man dann auch den Cursor an der Stelle plazieren, wo's hakt (klappt - wie von Sepp geschrieben - natürlich nicht bei deaktiviertem VBA).
4. Beispieltabelle hilft
Grüsse,
Frank

AW: Excel Eingabe erzwingen
04.07.2015 16:36:19
Sebastian
Hallo zusammen,
erstmal vielen Dank für die schnellen Rückanworten. Ja ich denke auch das die Aufgabenstellung vllt. zu umfangreich für ein Forum ist... Ist mir als ich fertig war auch aufgefallen :-) Natürlich bin ich auch für Alterntive Vorschläge dankbar. Ich habe bereits ein paar Ansätze gefunden womit man durchaus schon was anfangen kann. Anbei habe ich ein "abgespecktes" Beispiel inkl. Makro angehängt.
Tabelle:
G/ I Auftragsnummer NR. Stadium Option Endtermin Liefer KW Kunde Typ usw...
Makro:
Sub Worksheet_Change(ByVal Target As Range)
'G/I
If Target.Column = 2 Then
If Not Target = "" Then
'Auftragsnumer
Cells(Target.Row, 3).Select
If Cells(Target.Row, 3) = "" Then
Cells(Target.Row, 3) = InputBox("geben sie eine Auftragsnummer ein", "Eingabe  _
Auftragsnummer")
Do Until Cells(Target.Row, 3)  ""
MsgBox "Ein leeres Eingabefeld ist nicht zulässig"
Cells(Target.Row, 3) = InputBox("geben sie eine Auftragsnummer ein", " _
Eingabe Auftragsnummer")
Loop
Else
Cells(Target.Row, 3) = InputBox("Stimmt die Auftragsnummer noch?", "Eingabe  _
Auftragsnummer", Cells(Target.Row, 3))
Do Until Cells(Target.Row, 3)  ""
MsgBox "Eine leeres Eingabefeld ist nicht zulässig"
Cells(Target.Row, 3) = InputBox("geben sie eine Auftragsnummer ein", " _
Eingabe Auftragsnummer")
'Nr
Loop
End If
Cells(Target.Row, 4).Select
If Cells(Target.Row, 4) = "" Then
Cells(Target.Row, 4) = InputBox("geben sie eine Nr. ein", "Eingabe Nr.")
Do Until Cells(Target.Row, 4)  ""
MsgBox "Eine leeres Eingabefeld ist nicht zulässig"
Cells(Target.Row, 4) = InputBox("geben sie eine Nr. ein", "Eingabe Nr.")
Loop
Else
Cells(Target.Row, 4) = InputBox("Stimmt die Nr. noch?", "Eingabe Nr", Cells( _
Target.Row, 4))
Do Until Cells(Target.Row, 4)  ""
MsgBox "Eine leeres Eingabefeld ist nicht zulässig"
Cells(Target.Row, 4) = InputBox("geben sie eine Nr. ein", "Eingabe Nr.")
'Stadium
Loop
End If
Cells(Target.Row, 5).Select
If Cells(Target.Row, 5) = "" Then
Cells(Target.Row, 5) = InputBox("geben sie das Stadium ein", "Eingabe Stadium")
Do Until Cells(Target.Row, 5)  ""
MsgBox "Eine leeres Eingabefeld ist nicht zulässig"
Cells(Target.Row, 5) = InputBox("geben sie das Stadium ein", "Eingabe  _
Stadium")
Loop
Else
Cells(Target.Row, 5) = InputBox("Stimmt das Stadium noch ?", "Eingabe Stadium",  _
Cells(Target.Row, 5))
Do Until Cells(Target.Row, 5)  ""
MsgBox "Eine leeres Eingabefeld ist nicht zulässig"
Cells(Target.Row, 5) = InputBox("geben sie das Stadium ein", "Eingabe  _
Stadium")
'Option
Loop
End If
Cells(Target.Row, 6).Select
If Cells(Target.Row, 6) = "" Then
Cells(Target.Row, 6) = InputBox("geben sie die Option ein", "Eingabe Option")
Do Until Cells(Target.Row, 6)  ""
MsgBox "Eine leeres Eingabefeld ist nicht zulässig"
Cells(Target.Row, 6) = InputBox("geben sie die Option ein", "Eingabe Option") _
Loop
Else
Cells(Target.Row, 6) = InputBox("Stimmt die Option noch ?", "Eingabe Option",  _
Cells(Target.Row, 6))
Do Until Cells(Target.Row, 6)  ""
MsgBox "Eine leeres Eingabefeld ist nicht zulässig"
Cells(Target.Row, 6) = InputBox("geben sie die Option ein", "Eingabe Option") _
Loop
End If
Else
Cells(Target.Row, 3).Clear
Cells(Target.Row, 4).Clear
Cells(Target.Row, 5).Clear
Cells(Target.Row, 6).Clear
End If
End If
End Sub

Hier ist das Problem durch die Eingabe in der Textbox wird die Datenüberprüfung außer Kraft gesetzt. Am besten wäre die "erzwungene" Eingabe über das vordefenierte Drop Down Menü. Man sollte auch nach falscher Eingabe den vorherigen Wert noch korrigieren können. Allerdings dann alle anderen Eingaben weiter durchführen müssen... Kann jemand was mit dem Makro anfangen und vllt etwas ableiten?

Anzeige
AW: Excel Eingabe erzwingen
05.07.2015 12:07:55
Herbert
Hallo Sebastian,
falls Dir hier niemand helfen kann, aufgrund des Umfanges der Aufgabe, kann ich Dir meine Hilfe bzgl. Auftragsprogrammierung anbieten. Bei Interesse, sende mir eine eMail: hagrom at gmail.com und am besten gleich mit einer Beispieldatei, die möglichst exakt der späteren Benutzerdatei gleicht, da ich sonst fast immer alles doppelt machen muss. ;o)=)
Servus

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige