Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!!
Gehe zu Seite 1, 2, 3  Weiter
zurück: In anderes Arbeitsblatt kopieren weiter: Hilfe beim Code säubern - Excel stürzt Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Firefighter99
Im Profil kannst Du frei den Rang ändern


Verfasst am:
16. Dez 2004, 12:45
Rufname:
Wohnort: Lübeck (Stockelsdorf)

Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!! - Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!!

Nach oben
       

Hallo,
ich habe eine Excel Mappe mit verschiedenen Tabellen und wünschte mir hierfür eine Eingabemaske/Eingabehilfe:

Es gibt folgende Spalten:
Datum - hier wünsche ich mir das automatisch das aktuelle Datum vorgegeben wird, aber es muss überschreibbar sein
Kundenname - normale Texteingabe
Produkt - hier soll es ein DropDown Menü/Auswahl geben indem man nur anklicken muss "A" od. "B" od. "C" od. "D"

Mit klick auf OK, sollten dann die Daten in die jeweilige Tabelle eingefügt werden.

Ist dies so oder ähnlich möglich? Wie?

mfG und vielen Dank für eure Hilfe vorab.
René
Feanor
interessierter Laie


Verfasst am:
16. Dez 2004, 13:03
Rufname:


AW: Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!! - AW: Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!!

Nach oben
       

Hallo,

das ist kein größeres Problem.

Du musst eine UserForm erstellen, also eine Maske, in der du dann die Werte eingeben kannst.
In diese Maske fügst du dann die entsprechenden Felder ein die du eingeben willst, und einen Button, mit dem du die Daten in die Tabelle übernimmst.
Diese Übername der Daten musst du ein wenig programmieren.

In dein Tabellenblatt kommt ebenfalls ein Button, der dann die UserForm öffnet.

Soweit die grobe Theorie.

Wie viel hilft dir das? Hast du eine ungefähre Vorstellung davon wie das geht oder brauchst du es detailierter?

_________________
"Die Zukunft ist ungewiss. Der beste Weg, sie im Voraus zu kennen, liegt für jeden Einzelnen darin, sie zu gestalten. "
Firefighter99
Im Profil kannst Du frei den Rang ändern


Verfasst am:
16. Dez 2004, 20:45
Rufname:
Wohnort: Lübeck (Stockelsdorf)

AW: Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!! - AW: Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!!

Nach oben
       

hmmm.... userform sagt mir jetzt erstmal nichts. hab insoweit mit excel noch nie zu tun gehabt! ist das richtig das ich ein "ms excel dialog einfügen muss"? da kann ich auch einige textfelder und dropdown-listen erstellen, aber wie bekomme ich die mit der tabelle verknüpft? da muss ich glaube ich VBA programmieren --> das kann ich nicht!

hoffentlich ist mein ansatz falsch und es gibt einen einfacheren!

hilfe!!!
Feanor
interessierter Laie


Verfasst am:
16. Dez 2004, 21:07
Rufname:

AW: Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!! - AW: Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!!

Nach oben
       

Oh, ich seh schon, da muss ich ganz von vorne anfangen.

Also:
Wenn du in Excel bist kommst du mit Alt-F11 in den Makro-Editor.
Dort machst du links auf dem verzeichnisbaum einen Rechtsklick und sagst Einfügen - UserForm.
Du erhälst eine leere Maske und es geht die Werkzeugleiste dazu auf.
Über diese Werkzeugleiste fügst du jetzt die eingabefelder (Textfelder) und ggf. Kombinationsfelder in die maske ein, und einen Button (Befehlsschaltfläche), mit dem du später die Daten ins Tabellenblatt übernimmst.

Weitere Hinweise dazu bekommst du in der VisualBasic-Hilfe von Excel (mit F1 aus dem Makro-Editor öffnen, und dann in das Suchfeld "Userform" eingeben. Dann findest du in der Auswahlliste einen Punkt "Erstellen eines benutzerdefinierten Dialogfeldes".

Wenn du das soweit hast, hast du den ersten Schritt getan und hast ein Formular erstellt.

Schreib mir wenn du soweit bist, dann kommt der 2. Schritt 8)

_________________
"Die Zukunft ist ungewiss. Der beste Weg, sie im Voraus zu kennen, liegt für jeden Einzelnen darin, sie zu gestalten. "
Gast



Verfasst am:
17. Dez 2004, 19:30
Rufname:


AW: Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!! - AW: Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!!

Nach oben
       

so, ich konnte soweit folgen und auch die eingabefelder und pulldown-menü´s erstellen aber dein hilfekapitel konnte ich nicht finden. wie gehts weiter. wie verbinde ich die einzelnen schaltflächen nun mit einer datei. vielleicht hast du ja auch eine beispieldatei!?

firefighter 99 <et> gmx . net

hoffe du weisst was ich mit der email meine - nur eine kleine vorsichtsmaßnahme w/spam. et soll für @ stehen.

rené
Feanor
interessierter Laie


Verfasst am:
19. Dez 2004, 18:45
Rufname:

AW: Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!! - AW: Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!!

Nach oben
       

OK ich hab dir ein Beispiel per Mail geschickt.

Zur Erklärung:
Es gibt 2 Tabellenblätter "Tabelle1" und "Vorgabewerte". Im taellenblatt 1 sind die Spalten A-C in Zeile 1 mit den Überschriften "Datum", "Kunde" und "Produkt" versehen. Darunter sollen die Datensätze kommen.
Auf dem Tabellenblatt "Vorgabewerte" stehen in Spalte A ab Zeile 2 die vorhandenen produkte, die in der Combobox der Userform später zur Auswahl stehen sollen (die Liste ist erweiterbar, da alle Werte der Spalte ab Zeile 2 dafür verwendet werden).

Auf der Userform befinden sich die Textboxen Datum und Kunde, und die Combobox Produkt. Dazu gibt es 2 Buttons "übernehmen" und "abbrechen".

Folgender Code wird zur Userform hinterlegt:

Code:
Private Sub UserForm_Activate()
 
  'Beim Aufruf der Maske Datumsfeld mit aktueller Systemzeit vorbelegen
  Datum.Value = Date
  '...und die Combobox mit den Vorgabewerten füllen,
  ' die in Tabellenblatt "Vorgabewerte" in Spalte A (1) ab Zeile 2 stehen
  With ThisWorkbook.Sheets("Vorgabewerte")
    Produkt.RowSource = Range(.Cells(2, 1), .Cells(.Cells(Rows.Count, 1).End(xlUp).Row, 1)).Address(External:=True)
    '...und als Vorbelegung das erste Produkt wählen
    Produkt.Value = .Cells(2, 1)
  End With
 
End Sub

Private Sub uebernehmen_Click()
  Dim letzteZeile As Integer
 
  'letzte Zeile bestimmen
  Range("A65536").End(xlUp).Select
  'und eins draufaddieren damit man die erste freie Zeile bekommt
  letzteZeile = ActiveCell.Row + 1

  'Werte schreiben
  ThisWorkbook.Sheets("Tabelle1").Cells(letzteZeile, 1) = Datum.Value
  ThisWorkbook.Sheets("Tabelle1").Cells(letzteZeile, 2) = Kunde.Value
  ThisWorkbook.Sheets("Tabelle1").Cells(letzteZeile, 3) = Produkt.Value
 
  'und Maske schließen
  UserForm1.Hide
End Sub

Private Sub abbrechen_Click()
  'einfach die Maske schließen ohne Werte zu übernehmen
  UserForm1.Hide
End Sub



Dazu kommt ein Button im Tabellenblatt, welcher die Userform aufruft,. Dazu gehört folgendes makro in einem allgemeinen Modul:
Code:
Sub DS_einfuegen()
  UserForm1.Show
End Sub


Ich hoffe, es funktioniert so wie du willst?

_________________
"Die Zukunft ist ungewiss. Der beste Weg, sie im Voraus zu kennen, liegt für jeden Einzelnen darin, sie zu gestalten. "
Gast



Verfasst am:
22. Dez 2004, 22:35
Rufname:

UserForm Datumseingabe - Probleme bei Eingabe in Textfeld - UserForm Datumseingabe - Probleme bei Eingabe in Textfeld

Nach oben
       

Hallo Feanor,

jetzt ist meine Tabelle fast perfekt, nur einige Formeln funktionieren nicht.
Der Fehler liegt beim Datum. Und zwar speichert Excel das Datum (welches aus der Eingabemaske kommt) als Text. Erst wenn man in dieses Feld geht und mit Enter nochmal bestätigt, werden die Daten von Excel umformatiert und auch als Datum akzeptiert.

Was und wo muss ich was ändern, damit alles funktioniert?

vielen dank schonmal vorab.

rené
Kuwe
Excel-Anwender mit VBA


Verfasst am:
23. Dez 2004, 01:50
Rufname: Uwe

AW: Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!! - AW: Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!!

Nach oben
       

Hallo René,

dafür gibt es in VBA Typumwandlungsfunktionen.

Also in Deinem Fall müsstest Du das so schreiben:
Code:
ThisWorkbook.Sheets("Tabelle1").Cells(letzteZeile, 1) = CDate(Datum.Value)

Denn Textboxen geben, wie der Name schon sagt, eben nur Text zurück.
Deswegen muss man bei der Rückgabe den Typ (hier CDate) mit angeben.
Klicke einfach mal in CDate rein und drücke F1.
Die Online-Hilfe erklärt das sehr gut.

_________________
Gruß Uwe
Gast



Verfasst am:
23. Dez 2004, 08:03
Rufname:

ergebnis - ergebnis

Nach oben
       

suppi, jetzt hab ich eine perfekte datei. genauso wie ich sie haben wollte. ohne abstriche. und ich hab ne menge gelernt. es lebe das internet und das forum.

ich danke dir uwe.

happy christmas
und ich hoffe ich kann an andere stelle auch mal helfen

bye rené
Firefighter99
Im Profil kannst Du frei den Rang ändern


Verfasst am:
24. Dez 2004, 18:11
Rufname:
Wohnort: Lübeck (Stockelsdorf)

Excel Eingabemaske --> Datumsfeld --> Fehlermeldung - Excel Eingabemaske --> Datumsfeld --> Fehlermeldung

Nach oben
       

Nochmal hallo,

ich habe jetzt noch eine Idee um die Tabelle zu verbessern:

Wenn man in der Eingabemaske im feld datum ein verkehrtes format eingibt (z.z. 10.12.4statt 10.12.2004 od. 10.12.04) kommt eine fehlermeldung, weil es ja auch kein richtiges datum ist. schließlich landet der anwender aber im editor an der stelle im programmiertext, wo er hängengeblieben ist. das möchte ich verhindern durch einen hinweis in der eingabemaske, die ein "abstürzen" verhindern soll.

was muss ich machen?

danke vorab
rené
Jens_Pu
Freizeitprogrammierer, Excel & VBA mittel


Verfasst am:
24. Dez 2004, 19:29
Rufname:
Wohnort: Nürnberg

AW: Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!! - AW: Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!!

Nach oben
       

Hallo Firefighter99,

da habe ich von Hajo mal was tolles bekommen.
Bau das in Deine Userform mit ein. Die Textboxnamen mußt Du natürlich anpassen.

Schöne Weihnachten

Jens

Code:

Private Sub txtGeb_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  Call DatTextboxKeyPress(KeyAscii, Me.txtGeb)
End Sub

Private Sub txtGeb_Change()
  Call DatTextboxChange(Me.txtGeb)
End Sub

Private Sub txtGeb_AfterUpdate()
  Call DatTextboxAfterUpdate(Me.txtGeb)
End Sub


Private Sub DatTextboxKeyPress(ByVal KeyAscii As MSForms.ReturnInteger, ctlTxtBox As Control)
'   erstellt von Hajo.ziplies@web.de  Stand 02.02.04
'   Datumseingabe  01.01.03;1.1.03 oder komlettes Jahr
'   Eingabe des Tages und des Monat zweistellig werden die Punkte automatisch gesetzt
'   sie können nur gelöscht durch markierung des punktes und der Zahl davor
'   Buchstaben werden ausgeschlossen, nur Zahlen und Punkt
'   die Überprüfung ob Datum erfolgt in Private Sub txtSchluesselDat_AfterUpdate()
    Select Case KeyAscii
        Case Asc("0") To Asc("9")
        Case Asc(".")
            If Len(ctlTxtBox) = 0 Then
                KeyAscii = 0
            Else
                If Len(ctlTxtBox) - Len(Application.Substitute(ctlTxtBox, ".", "")) = 2 Then
                    KeyAscii = 0
                ElseIf Len(ctlTxtBox) > 1 Then
                    If Mid(ctlTxtBox, Len(ctlTxtBox), 1) = "." Then KeyAscii = 0
                Else
                    KeyAscii = Asc(".")
                End If
            End If
        Case Else
            KeyAscii = 0
    End Select
End Sub


Private Sub DatTextboxChange(ctlTxtBox As Control)
'   erstellt von Hajo.ziplies@web.de  Stand 02.02.04
    If ctlTxtBox.Tag = "1" = True Then Exit Sub
    If Len(ctlTxtBox) = 2 Then
        If InStr(ctlTxtBox, ".") = 0 Then ctlTxtBox = ctlTxtBox & "."
    ElseIf Len(ctlTxtBox) = 5 Then
        If Len(ctlTxtBox) - Len(Application.Substitute(ctlTxtBox, ".", "")) < 2 Then
            ctlTxtBox = ctlTxtBox & "."
        End If
    End If
End Sub


Private Sub DatTextboxAfterUpdate(ctlTxtBox As Control)
'   erstellt von Hajo.ziplies@web.de  Stand 02.02.04
    ctlTxtBox.Tag = 1
    If Right(ctlTxtBox, 1) = "." Then ctlTxtBox = Mid(ctlTxtBox, 1, Len(ctlTxtBox) - 1)
'   Jahreszahl vom aktuellen Jahr ergänzen falls nicht vorhanden
    If Len(ctlTxtBox) - Len(Application.Substitute(ctlTxtBox, ".", "")) = 1 Then
        ctlTxtBox = ctlTxtBox & "." & Year(Date)
    End If
    If IsDate(ctlTxtBox.Text) Then
        If Format(CDate(ctlTxtBox.Value), "dd.mm.yyyy") <> ctlTxtBox Then
            MsgBox "Das Datum wurde übersetzt"
        End If
        ctlTxtBox = Format(CDate(ctlTxtBox.Value), "dd.mm.yyyy")
    Else
        ctlTxtBox = ""
    End If
    ctlTxtBox.Tag = ""
End Sub

_________________
Gruß Jens
Mike50
Gast


Verfasst am:
26. Dez 2004, 19:30
Rufname:

datenübernahme ohne Userform - datenübernahme ohne Userform

Nach oben
       

schau mal hier nach:
Es gibt eine exceltabelle ohne Userform:

www.excelabc.de
Gast



Verfasst am:
29. Jan 2005, 20:32
Rufname:

Re: Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!! - Re: Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!!

Nach oben
       

Firefighter99 hat folgendes geschrieben:
Hallo,
ich habe eine Excel Mappe mit verschiedenen Tabellen und wünschte mir hierfür eine Eingabemaske/Eingabehilfe:

Es gibt folgende Spalten:
Datum - hier wünsche ich mir das automatisch das aktuelle Datum vorgegeben wird, aber es muss überschreibbar sein
Kundenname - normale Texteingabe
Produkt - hier soll es ein DropDown Menü/Auswahl geben indem man nur anklicken muss "A" od. "B" od. "C" od. "D"

Mit klick auf OK, sollten dann die Daten in die jeweilige Tabelle eingefügt werden.

Ist dies so oder ähnlich möglich? Wie?

mfG und vielen Dank für eure Hilfe vorab.
René
perolino
Im Profil kannst Du frei den Rang ändern


Verfasst am:
05. Feb 2005, 22:14
Rufname:

AW: Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!! - AW: Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!!

Nach oben
       

hallo feanor

Könntest du mir bitte auch so eine Datei schicken? perolino@kitz.net

Danke im voraus.

lg Roli
olly
Im Profil kannst Du frei den Rang ändern


Verfasst am:
08. Feb 2005, 15:16
Rufname:


AW: Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!! - AW: Excel Eingabemaske selbst programmieren?!?!?! Hilfe!!!

Nach oben
       

Ich wäre Dir auch sehr dankbar wenn Du mir eine Bsp. Datei schicken könnest, da ich bisher noch gar nix mit Excel / VBA zu tun hatte und es jetzt mal ausprobieren möchte,

Danke

Olly

e- Mail:

ollye(at)gmx.de

at = @
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2, 3  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 3
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formate: Eingabemaske erstellen? 1 BrunoXXL 1236 28. Apr 2011, 22:00
DieterB Eingabemaske erstellen?
Keine neuen Beiträge Excel Formeln: Eingabemaske mit Such-, Änder-, Speicher- und Löschfunktion 1 Mario1981 1239 21. Apr 2011, 21:41
DieterB Eingabemaske mit Such-, Änder-, Speicher- und Löschfunktion
Keine neuen Beiträge Excel Formeln: Eingabemaske: Spalten - Tabelle automatisch generieren 1 Gast 1024 23. Feb 2011, 23:03
MasterJoko Eingabemaske: Spalten - Tabelle automatisch generieren
Keine neuen Beiträge Excel Formate: Tabelle mit Eingabemaske und automatischer Eintragung 2 Olynth 2652 12. Okt 2010, 12:17
Gast Tabelle mit Eingabemaske und automatischer Eintragung
Keine neuen Beiträge Excel Formeln: Stammdaten - Eingabemaske 6 bine1971 1954 06. Jul 2009, 19:25
bine1971 Stammdaten - Eingabemaske
Keine neuen Beiträge Excel Formeln: Eingabemaske in einer Excel Zelle 2 strategist 4633 07. Dez 2007, 12:42
strategist Eingabemaske in einer Excel Zelle
Keine neuen Beiträge Excel Formeln: Programmieren einer Anwendung mit Datenbankfunktion ... 11 MichaKII 910 04. Okt 2007, 16:21
Robsl Programmieren einer Anwendung mit Datenbankfunktion ...
Keine neuen Beiträge Excel VBA (Makros): Eingabemaske oder IF 9 coreT 483 29. Aug 2007, 15:43
Bamberg Eingabemaske oder IF
Keine neuen Beiträge Excel VBA (Makros): Excel Editor programmieren 2 mrbig2_ 1194 15. Aug 2007, 14:00
mrbig2 Excel Editor programmieren
Keine neuen Beiträge Excel VBA (Makros): Laufzeitfehler '1004' beim Programmieren 0 Sachri 580 19. Jul 2007, 14:31
Sachri Laufzeitfehler '1004' beim Programmieren
Keine neuen Beiträge Excel VBA (Makros): brauche hilfe beim makro programmieren 2 danieljena 699 11. Feb 2007, 21:41
danieljena brauche hilfe beim makro programmieren
Keine neuen Beiträge Excel VBA (Makros): Hilfe Hilfe Hilfe Suchmaske / Eingabemaske programmieren???? 0 galaxy1981 1401 25. Jul 2006, 21:31
galaxy1981 Hilfe Hilfe Hilfe Suchmaske / Eingabemaske programmieren????
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML Forum