HERBERS Excel-Forum - das Archiv
8 Zellen einer Zeile zwingend füllen
Franz

Hallo,
ich experimentiere mit dem Selection_Change. Könntet ihr mir einige Codezeilen liefern wo ich einfach 4 Zellen einer Zeile von links nach rechts absichern kann damit weder 0 noch "" stehen bleibt, und dann anschliessend sauber in die nächste freie Zeile auf ein Neues wartet?
Die Reihenfolge wäre: 1 Datumfeld, 1 Belegnummer, 1 freier Text, 1 Betrag <>0,00 .
Sorry! Nach 1 Stunde "Glooglerei" komme ich nicht weiter.
mfg
Franz D.

AW: 8 Zellen einer Zeile zwingend füllen
Gerd

Hallo Franz!
Wie definierst Du oder grenzt Du deinen Eingabebereich ab?
Gruß Gerd
AW: 8 Zellen einer Zeile zwingend füllen
Franz

Hallo gerd,
Dies wäre z.Z. mein Prototyp:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim iCol As Integer
Dim lzIn_C1 As Long
Dim wksS As Worksheet
Set wksS = Worksheets("Sammelposten")
lzIn_C1 = ActiveSheet.Cells(65536, 1).End(xlUp).Row 'letzte Zeile der Spalte DATUM von "unten"  _
nach "oben"
If Target.Row > lzIn_C1 Then
Cells(lzIn_C1 + 1, Target.Column).Select    'auf die nächste freie Zeile stehen bleiben
End If
z = Range("rHeadMoney").Row + 1
If Target.Row < z Or Selection.Cells.Count > 1 Then Exit Sub
If IsEmpty(Target.Offset(0, 1 - Target.Column)) Then Exit Sub  '1.Spalte leer? Dann keine  _
Contextmenüs aktivieren
On Error GoTo ERRORHANDLER
'Leere Zellen in Listbox-Spalten überwachen
Select Case Target.Column
Case 5, 7, 9
If IsEmpty(Target) Then
Application.EnableEvents = False
'MsgBox "Leere Zellen sind nicht erlaubt"
Application.Undo    ' Aenderung zuruecksetzen
End If
Case Else
End Select
Application.EnableEvents = True
ERRORHANDLER:
Application.EnableEvents = True  'Automatische Überwachung der Ereignisse wieder zulassen
'Note:
'Call Worksheet_Change(Target)'in '

Private Sub Worksheet_SelectionChange(ByVal Target As Range)'ggf. einsetzen
End Sub

Tschüss!
Franz D.
AW: 8 Zellen einer Zeile zwingend füllen
Franz

Hallo,
habe das Häckchen vergessen. Sorry!
Franz D.
AW: 8 Zellen einer Zeile zwingend füllen
Gerd

Guten Abend Franz!
Du hast also vier Pflichtspalten, 1, 5, 7, 9
Zur besseren Orientierung:
Hat die Liste eine Überschriftenzeile in Zeile 1?
Was soll passieren,
-wenn in bereits ausgefüllten Zeilen nachträglich geändert wird?
-wenn in einer Zeile zwischendrin die Werte entfernt werden?
Oder sollen immer nur Einträge in der nächsten freien Zeile zugelassen werden?
Welcher Bereich ist Range("rHeadMoney") u. was soll mit diesem gesteuert werden?
Gruß Gerd
AW: 8 Zellen einer Zeile zwingend füllen
Franz

Guten Morgen Gerd,
Die Kopfzeile: Datum, Bel.-Nr, Buchungstext, Betrag, BZ1, Vermögenskonten, BZ2,Konten,A-W, Kategorie
(BZ1 u. BZ2= Buchungsziffer, steuern optimal per SVERWEIS die nächste(n) Spalten).
Es sollten nacheinander von links nach rechts die Eingaben abgesichert werden.
Für das Absichern von leeren Feldern von "Vorgängern" hätte ich schon eine Idee, aber ich hätte nichts dagegen mir zu zeigen wie du es lösen würdest.
" Range("rHeadMoney") " ist die Kopfzeile z.Z. in der Zeile 6. Ich möchte damit flexibel bleiben falls ich sie "verutschen" sollte.