Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
968to972
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
968to972
968to972
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Nach dem Bestätigen der Eingabe in eine Zelle...

Nach dem Bestätigen der Eingabe in eine Zelle...
23.04.2008 06:17:00
Josef
Guten Morgen!
Ich habe ein Arbeitsblatt mit dem Namen "Ausprägungen".
Nachdem ich in der Spalte "H" in der nächsten freien Zelle einen Eintrag mit return oder mit der Tab Taste verlasse, möchte ich nun erreichen, dass eine MSG Box mit einem "JA" und "NEIN" Button sich öffnet, mit der Frage: "Ist der Eintrag korrekt?". Ist der Eintrag korrekt, sollte sich die MSG Box schliessen, ist der Eintrag jedoch nicht korrekt, dann soll ein Makro gestartet werden, die MSG Box sollte sich wieder schliessen und die Zelle mit der fehlerhaften Eingabe sollte für eine Korrektur markiert werden.
Mit dem Code
If Target.Column = 8 And Target.Row > 1 Then
Sheets("tabelle1").Cells(Rows.Count, 28).End(xlUp).Offset(1, 0) = Target
End If
wird in einem Worksheet_Change Ereignis der Eintrag in der letzten Zelle in der Spalte H in das Tabellenblatt "Tabelle 1" in die Spalte "AB" in die nächste freie Zelle kopiert.
mit dem Makro

Sub Del_Ausprägung_Kurztext()
On Error GoTo WEITER:
Dim mldg, stil, titel, grc
Dim wks As Worksheet
Set wks = Workbooks("Masterfile.xls").Worksheets("Tabelle1")
'hier wird meldung erzeugt ob daten geändert werden sollen
mldg = "Wert wirklich löschen ?"
stil = vbYesNo + vbCritical + vbDefaultButton2
titel = "Frage ?"
grc = MsgBox(mldg, stil, titel)
If grc = vbYes Then
Else
Exit Sub
End If
With wks
If IsEmpty(.Cells(.Cells(.Rows.Count, 28).End(xlUp).Row, 1)) Then _
.Cells(.Cells(.Rows.Count, 28).End(xlUp).Row, 28).ClearContents
End With
WEITER:
End Sub


sollte bei einer "NEIN" Bestätigung in der MSG Box der fehlerhafte Wert in der "Tabelle 1" wieder gelöscht werden.
Wie würde hier bitte eine VBA Lösung für das Öffnen der MSG Box und den Makrostart lauten?
Danke
Josef

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nach dem Bestätigen der Eingabe in eine Zelle...
23.04.2008 08:05:00
Luschi
Hallo Josef,
so kann man das machen:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Integer
x = MsgBox("Alles richtig?", 32 + vbYesNo + vbDefaultButton2, "Fehlerkontrolle")
If x = vbNo Then
Application.EnableEvents = False
'zurück zur Eingabezelle
Target.Select
'oder
'Eingabe ungültig machen
Application.Undo
Application.EnableEvents = True
End If
End Sub

Gruß von Luschi
aus klein-Paris

AW: Nach dem Bestätigen der Eingabe in eine Zelle...
23.04.2008 11:05:17
Josef
Hallo Luschi!
Danke für Deine Antwort und für Deine Hilfe.
Schönen Tag noch
Josef

AW: Nach dem Bestätigen der Eingabe in eine Zelle...
23.04.2008 12:08:00
Schnee
Hallo Josef,
So kann man es auch lösen:
https://www.herber.de/bbs/user/51782.xls
Beste Grüße,
Christian
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige