Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
960to964
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
960to964
960to964
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

zwingende Eingaben

zwingende Eingaben
14.03.2008 11:29:00
Benstöm
Guten Tag,
sry bin im Moment sehr aktiv, deshalb prudeln die Fragen auch nur so aus mir heraus.
Nachdem ich meine Excel Datei geöffnet habe müssen in dem Tabellenblatt zwingend erst 3 Angaben (RG-Nr., Datum und Kd.-Nr.) getätigt werden weil sich daraus automatisch der Dateiname ergibt.
Wie kann ich veranlassen das der User erst in den 3 unterschiedlichen Zellen zwingend eine Angabe macht.
Vielen Dank für eure Mühe.
LG
Benny

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Das ist kein Excel-Problem,
14.03.2008 11:48:04
Peter
da musst Du den User zwingen.
=:-)
Gruß, Peter

AW: Das ist kein Excel-Problem,
14.03.2008 11:53:40
Benstöm
Hallo Peter,
leider hilft mir deine Antwort nicht unbedingt weiter.
Ich habe doch die Möglichkeit eine Eingabe zu erzwingen, oder?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("A3")="" then
Range("A3").Select
End If
End Sub


Nur sie funktioniert nicht so konsequent wie ich es mir vorstelle. Weil die Dialogbox zum automatischen Speichern sich einfach vorschummelt, obwohl sie im Makro erst später dran kommt, smile.
Dim dlg As Object
Dim pfad As String
Dim datei As String
pfad = "C:\Daten\A\"
datei = Worksheets("Rechnung").Range("F17")
Set dlg = Application.FileDialog(msoFileDialogSaveAs)
With dlg
.InitialFileName = pfad & datei & ".xls"
.Show
End With
If dlg False Then dlg.Execute
Es wäre prima wenn du dich dessen annehmen würdest.
LG
Martin

Anzeige
AW: zwingende Eingaben
14.03.2008 11:49:00
Tino
Hallo,
hier mal ein Beispiel, kommt als Code in das entsprechende Tabellenblatt.
Im Beispiel muss in A1 und B1 und C1 etwas drin stehen bevor eine andere Zelle
gewählt werden kann.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("A1") = "" Or Range("B1") = "" Or Range("C1") = "" Then
Application.EnableEvents = False
Range("A1").Select
Application.EnableEvents = True
MsgBox "Zellen sind leer!"
End If
End Sub


Gruß
Tino

AW: zwingende Eingaben
14.03.2008 12:07:00
Benstöm
Hey Tino,
die Fehlermeldung kommt zwar, das ist auch gut, aber es gibt keinen Zwang die Felder füllen zu müssen.
Ich stelle mir das wie folgt vor.
1. Die Datei wird mir dem passenden Tabellenblatt geöffnet
2. Es wird die Zelle G11 angesprungen und bleibt so lange aktiv bis der Wert in der Zelle G11 0 ist
3. dann wird zwingend die Zelle E11 angesprungen, analog wie G11, es passiert nichts anderes
4. sind die Zellen nicht gefüllt, ist das Tabellenblatt nicht nutzbar, sprich der Cursor bleibt in G11, usw. stehen, ähnlich wie bei Gültigkeit wenn du den falschen Wert eingibst, es wird das Makro nicht weiter ausgeführt
LG
Benny

Anzeige
AW: zwingende Eingaben
14.03.2008 12:27:54
Tino
Hallo,
meist du so?
Weitere Zellen entsprechend erweitern.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("E11") = "" Then
Application.EnableEvents = False
Range("E11").Select
Application.EnableEvents = True
MsgBox "Zelle " & ActiveCell.Address & " ist leer!", vbCritical, "Werte eingeben!"
ElseIf Range("G11") = "" Then
Application.EnableEvents = False
Range("G11").Select
Application.EnableEvents = True
MsgBox "Zelle " & ActiveCell.Address & " ist leer!", vbCritical, "Werte eingeben!"
End If
End Sub


Gruß
Tino

Anzeige
AW: zwingende Eingaben
14.03.2008 12:53:00
Benstöm
Hey Tino,
du bist schon auf dem richtigen Weg, smile. Es kommt zwar die MSG Box die wenn ich Sie mit OK bestätige mir die Eingabe irgendwo zulässt. Nach der Eingabe kommt die MMSG Box erneut. Es soll aber nicht möglich sein irgendwo etwas eingeben zu können so lange bis die Zelle G11 gefüllt ist.
Kannst du das auch realisieren?.
LG
Benny

AW: zwingende Eingaben
14.03.2008 13:13:00
Tino
Hallo,
richtig nachvollziehen kann ich es nicht.
Gebe ich in den besagten Zellen nichts ein (Zelle ist leer), kann ich keine andere
auswählen.
Dies geschieht durch die Range("…").Select Anweisung vor der MSGBox
Schildere mal genau wann du etwas in einer anderen Zelle eingeben kannst,
obwohl eine dieser Zellen leer ist
Gruß
Tino

Anzeige
AW: zwingende Eingaben
14.03.2008 14:40:00
Benstöm
Hy Tino,
leider habe ich in ein paar Minuten Feierabend und gehe dann im Urlaub.
Nichts desto Trotz anbei ein letzter Versuch.
Diese Makro1 funktioniert wird aber am Anfang vor der ersten Eingabe in G11 von dem nachfolgenden Makro2 gestört.
Makro1

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
With Worksheets(1)
Dim bereich(2)
bereich(0) = "G11"
bereich(1) = "E17"
bereich(2) = "A17"
For zaehler1 = 0 To 2
If Range(bereich(zaehler1)) = "" Then
Range(bereich(zaehler1)).Select
Exit For
End If
Next zaehler1
End With
End Sub


Makro2
Dim dlg As Object
Dim pfad As String
Dim datei As String
pfad = "C:\Daten\A\"
datei = Worksheets("Rechnung").Range("F17")
Set dlg = Application.FileDialog(msoFileDialogSaveAs)
With dlg
.InitialFileName = pfad & datei & ".xls"
.Show
End With
If dlg False Then dlg.Execute
Hast du noch ne Lösung auf die schnelle.
Ansonsten würde ich erst am 31.03.wieder online sein oder ich schaue in meinem Urlaub mal kurz rein.
LG
Martin

Anzeige
AW: zwingende Eingaben
14.03.2008 16:33:00
Tino
Hallo,
dieses ist ja nicht dass von mir.
Schöner Urlaub
Gruß
Tino

AW: zwingende Eingaben
14.03.2008 13:31:00
Rudi
Hallo,
verhindere doch einfach das Speichern, falls eine der Zellen nicht gefüllt ist.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
With Sheets(1)
Cancel = .Range("A1") = "" Or .Range("B1") = "" Or .Range("C1") = ""
End With
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: zwingende Eingaben
14.03.2008 14:41:34
Benstöm
Hallo Rudi,
vielen Dank für deinen Beitrag aber ich versuche gerade etwas anderes. Schaue dir doch mal meinen letzten Beitrag an Tino an.
LG
Benny
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige