Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Eingabe Maske
#1
Guten Tag liebes Forum,

ich habe das Problem, dass ich VBA fast gar nicht kann. Ich brauche eine Engabemaske. Die Userform habe ich schon erstellt.
Ich bekomme es nur ohne Hilfe nicht hin, das die Daten die ich dort eingebe in eine Liste übernommen wird.
Die Liste soll fortlaufend geführt werden.
Kann mir einer Hilfestellung geben.

Ihr könnt euch ja mal meine Vorarbeit anschauen.

MfG Sven


Angehängte Dateien
.xlsm   Eingabemaske.xlsm (Größe: 19,49 KB / Downloads: 19)
Antworten Top
#2
Reicht auch die alte Maske von Excel?
https://www.pctipp.ch/gaming/artikel/exc...den-82114/

   
Antworten Top
#3
Mit der hatte ich es auch probiert.

Aber es gibt zu viele Kunden wo es dann Fehler in der Schreibweise geben wird.
Antworten Top
#4
Hallo

diesen Code bitte ins Code Blatt der UserForm1 laden.  Er schreibt alle Daten fortlaufend untereinander in die Liste.

mfg  Gast 123  

Code:
'Button:  Übernehmen
Private Sub CommandButton1_Click()
Dim lz1 As Long   'LastZell in Tabelle1
  On Error GoTo Fehler
  lz1 = Cells(Rows.Count, 1).End(xlUp).Row + 1
  Cells(lz1, 1) = CDate(TextBox1.Text)
  Cells(lz1, 2) = ComboBox1.Value
  Cells(lz1, 3) = TextBox2.Text
  Exit Sub
Fehler:  MsgBox "REingabe Fehler aufgetreten"
End Sub

'Button:  Abbrechen
Private Sub CommandButton2_Click()
  Unload Me
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • Coprat
Antworten Top
#5
Vielen Dank Gast 123.

ich verstehe sogar den Code. Hätte ich nur nicht selber schreiben können.

EIne Verständnis Frage habe ich noch:

warum heißt im Code die nächste leere Zeile lzl?

gibt es noch die möglichkeit, das nach dem Übernehmen in die Liste die TextBoxen und die Combo boxen wider geleert werden?

MfG Sven
Antworten Top
#6
Hallo Sven

meine Variablen Deklaration ist mehrfach im Forum kritisiert worden, weil es für echte Profis einen MS Standard gibt!  Ich halte mich nicht daran!
Üblich ist vor der Variablen anzugeben intLastZeile, strXYAdresse, und nicht einfach lapidar "lz1" für LastZell, oder "Adr, Edr" für Anfang, End Adresse!
Ich erkenne in meinem eigenen Variable System die LastZelle in Spalte 1.  Noch fragen was Offiziell richtig oder falsch ist??  

Die Textfelder lassen sich einfach zurücksetzen, erweitere den Code wie unten - vor Exit Sub!  Ob sich die ComboBox ohne Fehlermeldung zurücksetzen laesst bin ich im Augenblick überfragt. Damit hatte ich schon mal Probleme!  Einfach ausprobieren, wenn es nicht klappt (Laufzeitfehler?) den Code Teil weglassen. 

mfg  Gast 123

Code:
 TextBox1.Text = Empty
 TextBox2.Text = Empty
 ComboBox1.Listİndex = -1  'oder probiere Empty
 Exit Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • Coprat
Antworten Top
#7
Hallo Gast 123,

ich werde deinen Code gleich mal ausprobieren. Wie die variablen genannt werden ist mir relativ egal. da ich mich eh nicht so gut auskenne ist mir nur wichtig, dass es funktioniert.
Antworten Top
#8
Ich habe deinen Code so eingefügt


Code:
'Button:  Übernehmen
Private Sub CommandButton1_Click()
Dim lz1 As Long   'LastZell in Tabelle1
 On Error GoTo Fehler
 lz1 = Cells(Rows.Count, 1).End(xlUp).Row + 1
 Cells(lz1, 1) = CDate(TextBox1.Text)
 Cells(lz1, 2) = ComboBox1.Value
 Cells(lz1, 4) = TextBox2.Text
  TextBox1.Text = Empty
  TextBox2.Text = Empty
ComboBox1.ListIndex = Empty  'oder probiere Empty
Exit Sub

Fehler:  MsgBox "Eingabe Fehler aufgetreten"
End Sub

'Button:  Abbrechen
Private Sub CommandButton2_Click()
 Unload Me
End Sub

Private Sub Label1_Click()

End Sub
habe beides ausprobiert (-1;empty)
bringt keine Veränderung aber auch keinen fehler
Antworten Top
#9
Sorry, läuft super mit -1

hab den Code in die Falsche UserForm eingefügt

Danke
Antworten Top
#10
(22.01.2019, 17:16)Cadmus schrieb: Reicht auch die alte Maske von Excel?
https://www.pctipp.ch/gaming/artikel/exc...den-82114/

Mit meinem O2019 für macOS bin ich echt gekniffen.
Schon wieder eine Funktion, die hier nicht bereit steht. In O2016 für Win (wie ich auf meiner virtuellen Maschine sehen kann) jedoch schon.

Falls jemand eine VBA-Alternative kennt, die unter macOS O2019 64bit funktioniert, freue ich mich über einen Hinweis.
Danke.
VG Andreas

--
Genutzte Version: MS Office 365 für Mac

Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste