AW: Datenüberprüfung
08.02.2006 20:48:58
Gerhard
Hallo Heiko!
Habe leider wenig Zeit momentan für mein Excel Problem, viel Stress im Job, drumm dauerts auch immer so lange bis ich antworte.
Danke für deinen Beitrag! Das funktoniert jetzt super, aber mit der folgenden Zeile hab ich noch Probleme das geht nicht. Die MsgBox kommt wenn ich auf die Spalte A klicke. Bei der Spalte C tut sich gar nichts.
If Intersect(Target, Range("C3:C231")) Is Nothing Then Exit Sub
Es ist auch so dass das nicht immer funktionieren soll nur dann wenn ich die Eingabe mache. Dazu führe ich einen Code aus der den Blattschutz für die Spalten A/B u. C aufhebt und erst dann soll das Macro von Dir aktiv sein. Wenn ich dann speichere schalte ich den Blattschutz wieder über ein Macro ein und dann soll das ganze nicht funktionieren. Hänge die beiden Macros "Eingabe" für den Beginn und "Speichern" für Ender der Überprüfung an.
Sub Eingabe()
' Eingabe Makro Stückeingabe automatisch 1Stk.
' Makro am 13.04.2005 von Fuger G. aufgezeichnet
' Tastenkombination: Strg+q
Dim intPos As Integer
Do
Dim Eingabe As String
Dim EingabeKorrekt As Variant
Eingabe = InputBox("Bitte die Nummer des Kundendienstes bzw. Zustellers eingeben!")
If Right(Eingabe, 1) = "0000" Then
ElseIf Eingabe = "" Then
MsgBox "Ohne Kundendienstnummer kann keine Werkzeugeingabe erfolgen!", vbInformation
Exit Sub
End If
EingabeKorrekt = Eingabe
Loop Until MsgBox("Ist die Nummer korrekt? : " & EingabeKorrekt, vbYesNo + vbQuestion) = vbYes
Sheets("INI").Activate
Call BlattschutzAus
Sheets("INI").Cells(34, 2).NumberFormat = "General"
Sheets("INI").Cells(34, 2).Value = CDbl(Eingabe)
Call Blattschutz
Sheets("Auftragsstand").Activate
Call BlattschutzAus
Range("A3:C231").Select
Selection.Locked = False
Selection.FormulaHidden = False
ActiveWindow.ScrollRow = 3
Range("D3:D231").Select
Selection.Locked = True
Selection.FormulaHidden = False
'Letzte freie Zeile suchen
intPos = Range("A65536").End(xlUp).Offset(1, 0).Row
Cells(intPos, 1).Select
Call Blattschutz
ActiveWorkbook.Save
End Sub
Sub Speichern()
Call Initialisierung
NachfrageEnde
Windows(strNameListe).Activate
Sheets("Auftragsstand").Activate
Range("A3").Activate
'ActiveWorkbook.Save
Application.EnableEvents = False
Call BlattschutzAus
Range("A3:C231").Select
Selection.Locked = True
Selection.FormulaHidden = False
Range("G3:G231").Select
Selection.Locked = True
Selection.FormulaHidden = False
ActiveWindow.ScrollRow = 3
Range("D3:D231").Select
Selection.Locked = False
Selection.FormulaHidden = False
ActiveWindow.ScrollRow = 3
'Sortieren Id.Nr. aufsteigend
Application.GoTo Reference:="Sortierbereich"
ActiveWindow.ScrollRow = 3
Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Key2:=Range("B3") _
, Order2:=xlAscending, Key3:=Range("C3"), Order3:=xlAscending, Header:= _
xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
If Sheets("Auftragsstand").AutoFilterMode Then
Selection.AutoFilter
End If
Range("C3").Select
Application.CutCopyMode = False
Call Blattschutz
Application.EnableEvents = True
ActiveWorkbook.Save
End Sub
Ich beginne die Eingabe der Zahlen in den Spalten A/B/C mit dem Macro "Eingabe und beende sie mit dem Macro speichern. In den Spalten A u. B trage ich die bekannten Nummern die überprüft werden sollen ein. Ich schreibe die Mummern immer in der gleiche Reihenfolge ein, von A zu B zu C und wieder A/B/C. Entweder wenn ich in Spalte B fertig eingetragen habe oder ich weitergehe auf C soll die Überprüfung stattfinden.
Hoffe ich habe es verständlich ausgedrückt
Gruss
Gerhard