Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

8 Zellen einer Zeile zwingend füllen | Herbers Excel-Forum


Betrifft: 8 Zellen einer Zeile zwingend füllen von: Franz D.
Geschrieben am: 12.11.2009 22:20:55

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.

  

Betrifft: AW: 8 Zellen einer Zeile zwingend füllen von: Gerd L
Geschrieben am: 12.11.2009 22:24:46

Hallo Franz!

Wie definierst Du oder grenzt Du deinen Eingabebereich ab?

Gruß Gerd


  

Betrifft: AW: 8 Zellen einer Zeile zwingend füllen von: Franz D.
Geschrieben am: 12.11.2009 22:35:03

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.


  

Betrifft: AW: 8 Zellen einer Zeile zwingend füllen von: Franz D.
Geschrieben am: 13.11.2009 21:36:34

Hallo,
habe das Häckchen vergessen. Sorry!
Franz D.


  

Betrifft: AW: 8 Zellen einer Zeile zwingend füllen von: Gerd L
Geschrieben am: 13.11.2009 21:56:59

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


  

Betrifft: AW: 8 Zellen einer Zeile zwingend füllen von: Franz D.
Geschrieben am: 14.11.2009 11:18:46

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.


Beiträge aus den Excel-Beispielen zum Thema "8 Zellen einer Zeile zwingend füllen"