Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1220to1224
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
Inhaltsverzeichnis

Autoform nur ausführen wenn ausgefüllt

Autoform nur ausführen wenn ausgefüllt
Thorsten
Hallo zusammen,
Mal wieder eine Frage:
Ich habe eine Autoform mit 3 Textfeldern. Diese werden ausgefüllt und über einen CommandButton in eine Liste eingepflegt.
Zur Zeit ist es möglich nur ein Textfeld zu beschriften und trotzdem die Daten einzupflegen.
Also suche ich ein Makro, dass die Daten nur einpflegt wenn alle 3 Textfelder ausgefüllt sind. Idealerweise geht sonst eine Messagebox auf, das muss aber nicht sein.
Vielen Dank im Voraus!
Gruß, Thorsten
AW: Autoform nur ausführen wenn ausgefüllt
28.07.2011 09:22:14
Jack
Guten morgen
wenn ich nicht gänzlich falsch liege, bekommst du es mit ner hölzernen Lösung hin
cmd_click
...
for each tb in uf1
if tb.value = "" then msgbox("ausfüllen")
next tb
...
oder so
wenn ich falsch liege .. Sorry
lg
AW: Autoform nur ausführen wenn ausgefüllt
28.07.2011 09:52:53
Thorsten
Also bei mir klappt es nicht!
Wie muss ich das denn einfügen? Hab jetzt verschiedene Sachen probiert, ich poste einfach mal die kompletten Befehle:
Private Sub CommandButton2_Click()
Leiste = TextBox2.Value
' Suche Spalte D nach erster leerer Zelle
Columns("D:D").Select
Selection.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
' Active Zelle Leiste eintragen
ActiveCell = Leiste
OP = TextBox3.Value
' Suche Spalte A nach erster leerer Zelle
Columns("A:A").Select
Selection.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
' Active Zelle OP eintragen
ActiveCell = OP
Werkzeug = TextBox1.Value
' Suche Spalte B nach erster leerer Zelle
Columns("B:B").Select
Selection.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
' Active Zelle Werkzeug eintragen
ActiveCell = Werkzeug
For Each tb In uf1
If tb.Value = "" Then MsgBox ("ausfüllen")
Next tb
Unload Me
End Sub
Ist es da unten richtig?! Muss ich noch irgendwas anpassen?!
Anzeige
AW: Autoform nur ausführen wenn ausgefüllt
28.07.2011 10:05:59
Jack
kann auch nicht funktionieren =)
hab nur Abkürzungen verwandt =)
for i=1 to 3 step 1
With Me.Controls("TextBox" & I)
if .value = "" then msgbox ("Fülle " & " Textbox " & i) end if
End With
next i
so könnte es klappen
AW: Autoform nur ausführen wenn ausgefüllt
28.07.2011 10:16:30
Thorsten
Sowas sehe ich nicht ;-)
Seh jeden Tag so viele neue VBA Befehle, da kann ich nicht unterscheiden welcher klappt und welcher nicht!
Es geht trotzdem leider nicht!
Das Problem scheint das If zu sein! Wenn ich das End If in der Zeile lasse bekomme ich direkt einen Fehler (beim kompilieren: erwartet Anweisungsende), wenn ich das End If eine Zeile tiefer setze , dann sagt er: End If ohne If.
Wo liegt das Problem?
Trotzdem schon mal vielen Dank für die Mühe!
Anzeige
AW: Autoform nur ausführen wenn ausgefüllt
28.07.2011 10:30:13
Jack
Probier es mal ohne end if
oder
und das wird sicherlich funktionieren
if .value = "" then
msgbox ("Fülle " & " Textbox " & i)
end if
AW: Autoform nur ausführen wenn ausgefüllt
28.07.2011 10:45:30
Thorsten
Ich hab es geahnt.
Es funktioniert soweit, schon mal Danke!
Problem: er trägt es mir ja trotzdem in die Liste ein!
Deswegen hab ich ja gesagt, die Messagebox sei optional.
Wichtig ist, wenn ich "hinzufügen" klicke, dass nichts passiert, solange nicht alle 3 Felder ausgefüllt sind.
Wenn er dann auch noch anzeigt, warum, wäre es halt ein guter Bonus, wichtig ist aber die Hauptfunktion.
Ich hoffe mal, du kannst mir trotzdem helfen!
Anzeige
AW: Autoform nur ausführen wenn ausgefüllt
28.07.2011 11:03:31
Jack
mh..
also da war ja noch was =)
okay
du setzt den "block" an den Anfang und schreibst in die Zeile unter msgbox "exit sub" (ohne "")
dann müsst es klappen
.o0(hoff ich)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige