Eine Zelle als Pflichteingabe in Abhängigkeit

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Eine Zelle als Pflichteingabe in Abhängigkeit
von: paul56
Geschrieben am: 28.11.2003 22:12:41

einer anderen Zelle definieren, hier:
z.B. Wenn B9 <>== dann MUSS C9 <>"" sein, sonst kein schliessen der Mappe möglich.

bisher folgendes versucht:


Private Sub App_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)
    If Range("B9").Value <> "" Then
       Range("C9").Activate
    MsgBox "Bitte Kennzeichen Gutschrift aus der Auswahlliste erfassen!"
        Cancel = True
        End If
                If Range("B9").Value <> "" Then
                Range("C9").Activate
                    ElseIf Range("C9").Value = "" Then
                    MsgBox "Bitte Kennzeichen aus der Liste wählen!"
        Else
            Range("C9").Value = "1"
                MsgBox "Danke, Sie können nun speichern!"
            Cancel = False
           End If
    End Sub



Für Hinweise bedanke ich mich im Voraus.
Bild


Betrifft: AW: Eine Zelle als Pflichteingabe in Abhängigkeit
von: paul56
Geschrieben am: 28.11.2003 22:25:36

Die Datei liegt unter folgender Adresse:


https://www.herber.de/bbs/user/2214.xls


Bild


Betrifft: AW: Eine Zelle als Pflichteingabe in Abhängigkeit
von: PeterW
Geschrieben am: 29.11.2003 00:02:55

Hallo Paul,

mir ist auch nach langem lesen noch nicht klar, was du möchtest. Der Code hilft beim Verstehen auch nicht viel weiter. Versuch bitte im Klartext zu beschreiben, was wann in Abhängigkeit von welchen Zellinhalten passieren soll.

Gruß
Peter


Bild


Betrifft: AW: Eine Zelle als Pflichteingabe in Abhängigkeit
von: paul56
Geschrieben am: 29.11.2003 09:22:28

morgen peter,

danke für die nachtschlafende antwort. :-))
der code ist ein versuch folgendes zu definieren:

bevor die mappe geschlossen werden darf, müssen, wenn zb. die zellen b9 oder b10 <>"" (ungleich leer), (z.B 25,00 Euro) sind, die zellen c9 oder c10 mit einem wert <> "" (z.b. 1) sein. es darf nicht möglich sein, die mappe zu verlassen OHNE diese pflichteingabe in c9 oder c10 vorzunhmen. im code funktioniert es nur teilweise. die prüfung auf b9 ist ok. die dann aktive zelle c9 (pflichtfeld) ist auch ok. gebe ich dann in c9 einen wert ein, komme ich jedoch nicht mehr dazu, diese zelle zu verlassen oder die mappe zu schliessen, da der dann folgende code falsch ist.
sind die zellen b9 oder b10 ="", dann erfolgt keine prüfung.

alternativ geht auch ein prüfen beim verlassen der aktiven zelle. in der, auf dem server liegenden tabelle, ist die dafür notwendige klasse enthalten.

danke für die versuchte unterstützung.

schönes we. paul


Bild


Betrifft: AW: Eine Zelle als Pflichteingabe in Abhängigkeit
von: PeterW
Geschrieben am: 29.11.2003 11:00:26

Hallo Paul,

also wenn in B etwas steht MUSS in C auch etwas stehen, andererseits muss C leer sein, wenn B leer ist? Für welchen Bereich soll die Überprüfung laufen, nur B9:C10 oder geht es um mehr Zellen?

Gruß
Peter


Bild


Betrifft: AW: Eine Zelle als Pflichteingabe in Abhängigkeit
von: paul56
Geschrieben am: 29.11.2003 21:50:06

danke für die neue antwort, peter,

also wenn in B etwas steht MUSS in C auch etwas stehen, andererseits muss C leer sein, wenn B leer ist? => ja

folgende zellen stehen für b:
E88, E89, G88, G89 ... Q88, Q89

folgende zellen stehen für c:
F88, F89, ... R88, R89

wobei immer zwei spalten (E88 für B und F88 für C, usw. im zusammenhang stehen). hast du eine idee?
danke im voraus.
gruss paul


Bild


Betrifft: AW: Eine Zelle als Pflichteingabe in Abhängigkeit
von: PeterW
Geschrieben am: 30.11.2003 00:47:58

Hallo Paul,

Antworten wird es so lange geben, bis ein Problem aus der Welt ist oder es entweder keine Lösung gibt oder der Antworter keine Idee mehr hat. ;-)

Die Idee zu deinem Problem wäre folgender Code (bitte Set wks = auf deine Tabelle anpassen; der Code gehört in das Modul DieseArbeitsmappe)

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim wks As Worksheet
Dim iRow As Integer
Dim iCol As Integer
Set wks = Sheets("Tabelle1")
With wks
  For iCol = 5 To 17 Step 2
    For iRow = 88 To 89
      If IsEmpty(.Cells(iRow, iCol)) Then
        If .Cells(iRow, iCol + 1) <> "" Then
          MsgBox "bitte prüfen", Title:="Es gibt einen Fehler"
          Cancel = True
          .Cells(iRow, iCol + 1).Select
          Exit Sub
        End If
      Else
        If .Cells(iRow, iCol + 1) = "" Then
          MsgBox "bitte prüfen", Title:="Es gibt einen Fehler"
          Cancel = True
          .Cells(iRow, iCol + 1).Select
          Exit Sub
        End If
      End If
    Next
  Next
End With
End Sub

Gruß
Peter


Bild


Betrifft: AW: Eine Zelle als Pflichteingabe in Abhängigkeit
von: paul56
Geschrieben am: 30.11.2003 09:37:27

guten morgen peter,

der antworter benötigt keine ideen mehr. auch gibt es zu dieser schwierigkeit eine lösung. genau diese, die du mit dem code definiert hast. dafür bedanke ich mich bei dir. wenn du sonst nachts nicht schlafen kannst oder darfst oder ??? wie auch immer. danke von paul.


Bild

Beiträge aus den Excel-Beispielen zum Thema " Kommentare in Zellen"