Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
792to796
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
792to796
792to796
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Wenn - dann Kombination
19.08.2006 17:26:15
Peter
Hallo Excelfreunde
eine Frage zu der folgenden Datei.
In diese Datei werden täglich auf Frühschicht, Spätschicht und Nachtschicht Werte eingegeben.
Und zwar als Zeit und mit Häufigkeit zu einem bestimmten Werkzeug.
Die Datei (.xls)hat folgende Eingabetabellen.
Eingabe MRM
Eingabe RU
Eingabe Geo-Mühle
Eingabe 24-fache
Eingabe RS-Marker
Eingabe LSS
Eingabe BSS
Eingabe Ketten
Meine Vorstellung ist jetzt die Datei (Mittels Code) so umzubauen, dass keine Zeit ohne Häufigkeit eingegeben werden kann. Umgekehrt genauso.
Beispiel:
In der "Eingabe MRM" gibt die Spätschicht am 4.01.06 unter Pos 5 Polezählen
1,2 Stunden mit 3 Eingriffe (Häufigkeit) ein.
Also V16 = 1,2 und W16 = 3
In der "Eingabe MRM" gibt die Nachtschicht am 4.01.06 unter Pos 5 Polezählen
0,2 Stunden ohne Eingriffe (Häufigkeit) ein. (Nicht möglich, da jede Standzeit eine Häufigkeit benötigt)
Also X16 = 0,2 und Y16 = Leer
Wähle ich jetzt irgendeine Zelle an, soll hier wie in allen Tabellen die Meldung kommen
"Zu dieser Standzeit fehlt die Häufigkeit"
Umgekehrt "Zu dieser Häufigkeit fehlt die Standzeit"
Es darf jetzt nicht in anderen Zellen oder tabellen eingegeben werden können, bis dass der fehlende Wert eingegeben wurde.
Ist das realisierbar. Wenn ja würde ich mich über detailierte Hilfe freuen.
Hilfe bitte für Anfänger geben.
Hier der Link
https://www.herber.de/bbs/user/35938.xls
Gruß Peter

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn - dann Kombination
19.08.2006 19:55:40
fcs
Hallo,
nachdem ich mich durch alle Eingabevarianten und die erforderlichen Abfragebedingungen durchgekämpft habe sind folgende Makros herausgekommen, die Zelleinträge überwachen und die Zellselektion nach der Eingabe in eine Zelle.
Diese Makros muss du für jedes zu überwachende Blatt im VBA-Editor einfügen.
Falls alle Blätter den gleichen Zellbereich haben der überwacht werden soll, dann kannst du auch versuchen unter diese Arbeitsmappe die Ereignismakros SheetsChange, SheetSelectionChange und Sheetdeactivate entsprechend zu nutzen.
Die Überwachung deckt jetzt nur das Tabellenblatt ab, eine unvollständige Eingabe vor dem Speichern oder Schliessen ist noch nicht erfasst. Hierzu müßte die Variable "Zellmerker" plus eine Variable für das aktive Worksheet in einem Modul als Public deklariert werden und ähnlich der WorkSheet_Deactivate-Prozedur müßten auch Workbook-Prozeduren BeforeClose und/oder BeforeSave kreiert werden.
gruß
Franz

Private Zellmerker As Range
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Kontrolle der Eingabe auf Vollständigkei
If Not Intersect(Target, Me.Range("B12:GE73")) Is Nothing Then
Application.EnableEvents = False
If Me.Cells(11, Target.Column).Value = "Häufigkeit" Then
If IsEmpty(Target) And IsEmpty(Target.Offset(0, -1)) Then Set Zellmerker = Nothing: GoTo weiter
If Not IsEmpty(Target) And Not IsEmpty(Target.Offset(0, -1)) Then Set Zellmerker = Nothing: GoTo weiter
If IsEmpty(Target) And Not IsEmpty(Target.Offset(0, -1)) Then
MsgBox "Zum Löschen eines Eintrags bitte immer Zeit und Häufigkeit gemeinsam markieren, dann löschen"
Set Zellmerker = Target
Else
Target.Offset(0, -1).Select
Set Zellmerker = Target.Offset(0, -1)
End If
Else
If IsEmpty(Target) And IsEmpty(Target.Offset(0, 1)) Then Set Zellmerker = Nothing: GoTo weiter
If Not IsEmpty(Target) And Not IsEmpty(Target.Offset(0, 1)) Then Set Zellmerker = Nothing: GoTo weiter
If IsEmpty(Target) And Not IsEmpty(Target.Offset(0, 1)) Then
MsgBox "Zum Löschen eines Eintrags bitte immer Zeit und Häufigkeit gemeinsam markieren, dann löschen"
Set Zellmerker = Target
Else
Target.Offset(0, 1).Select
Set Zellmerker = Target.Offset(0, 1)
End If
End If
weiter:
Application.EnableEvents = True
End If
End Sub
Private Sub Worksheet_Deactivate()
Dim wks As Worksheet
Set wks = Me
If Not Zellmerker Is Nothing Then
MsgBox "Eingabe ist unvollständig, Ausfallzeit und Häufigkeit müssen immer paarweise eingegeben werden!"
wks.Select
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Not Zellmerker Is Nothing Then
Application.EnableEvents = False
If IsEmpty(Zellmerker) And Target.Address <> Zellmerker.Address Then
MsgBox "Ausfallzeit und Häufigkeit müssen immer paarweise eingegeben werden!"
Zellmerker.Select
End If
Application.EnableEvents = True
End If
End Sub

gruss Franz
Anzeige
AW: Wenn - dann Kombination
19.08.2006 20:47:18
Peter
Hallo Excelfreund
der Code funktioniert genau wie es sein soll.
Ich habe ihn in jeder Arbeitsmappe copiert und dann nur B13 bis EG.. angepasst.
Es können jetzt keine Fehleingaben mehr getätigt werden.
Viele dank für deine Hilfe.
Gruß Peter

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige