Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Zusätzliches Fenster zum Abfagen von Daten | Herbers Excel-Forum


Betrifft: Zusätzliches Fenster zum Abfagen von Daten von: Jürgen
Geschrieben am: 05.02.2012 10:54:55

Hallo Leute,

ich brauche mal wieder eure Hilfe:

Ich will ein Tabellenblatt erstellen, das ziemlich viel Text und Informationen als Ergebnis liefert. Die dazu benötigten Daten - wie z. B. der Name - sollen über ein zusätzlich aufgerufenes Fenster abgefragt werden. Dazu habe ich bereits eine Schaltfläche "Daten" erstellt. Durch einen Klick darauf soll sich nun ein zusätzliches Fenster (UserForm?) öffnen, in dem der Name abgefragt wird. Die Eingabe in dem Fenster soll dann in einem genau benannten Feld (z. B. Z3S19) übertragen werden. )Dieser Bereich wird dann später einfach ausgeblendet und ist damit unsichtbar.)

Damit kann ich dann in dem "sichtbaren" Bereich des Tabellenblatts weiterarbeiten, indem ich dann z. B. den Namen in den Text integriere (="Heute war "&Z3S19&" zu Besuch.")

Nun habe ich zwar einiger Maßnen einen Durchblick, wenn es um Formeln geht, jedoch habe ich keinen Plan, wie ich so ein UserForm erstelle und die Schaltfläche "Daten" dazu bringe, dieses UserForm aufzurufen.

Wäre um Hilfe sehr dankbar. Ich lade auch gleich mal meine "Musterdatei" mit hoch, dann wird mein Anliegen vielleicht etwas verständlicher.

https://www.herber.de/bbs/user/78746.xlsm

Außerdem wäre es sehr schön, wenn die Lösung so gestaltet wäre, dass ich sie nachvollziehen kann, damit ich beim nächsten Mal weiß, wie es geht.

Ich sage schon mal im voraus vielen Dank!!!

Viele Grüße
Jürgen

  

Betrifft: AW: Zusätzliches Fenster zum Abfagen von Daten von: Hajo_Zi
Geschrieben am: 05.02.2012 11:01:11

Hallo Jürgen,

wenn Du nun nur eine Information haben willst, würde ich das über eine Inputbox machen.
cells(3,19)= InputBox("Person!")

GrußformelHomepage


  

Betrifft: AW: Zusätzliches Fenster zum Abfagen von Daten von: Jürgen
Geschrieben am: 05.02.2012 11:06:28

Hallo Hajo,

der Name war nur ein Beispiel, es sollen mehrere Informationen abgefragt werden.

Gruß
Jürgen


  

Betrifft: AW: Zusätzliches Fenster zum Abfagen von Daten von: Hajo_Zi
Geschrieben am: 05.02.2012 11:13:34

Hallo Jürgen,

in der Datei war nur Person, warum sollen wir uns die UserForm ausdenken. Im Beitrag war auch nur von einer Zelle die Rede. Sollen wir das jetzt so interpretieren das alle Informationen von allen nicht vorhandenen TextBoxen in eine Zelle geschrieben werden sollen?
Du solltest im Beispiel das schon beschreiben und auch die UserForm komplett machen. Nicht die Antworter haben das Problem und müssen die UserForm erstellen sondern Du.

Private Sub TextBox1_Change()
    cells(3,19)=TextBox1 
End Sub
Gruß Hajo


  

Betrifft: AW: Zusätzliches Fenster zum Abfagen von Daten von: Jürgen
Geschrieben am: 05.02.2012 11:50:45

Hallo Hajo,

entschuldige bitte, wenn ich mich schlecht verständlich ausgedrückt habe. Ich bin nicht sehr geübt darin, Probleme in Excel bzw. VBA zu beschreiben. Du hast natürlich vollkommen Recht: Das Erstellen des UserForm ist nicht euer Problem, sondern meins. Und bei der Lösung brauche ich etwas Hilfe von Spezialisten wie dir.

Also, in dem UserForm sollen mehrere Daten abgefragt werden. Der Name sollte nur ein Beispiel für euch und ein Muster für mich sein. Weitere Felder möchte ich mir dann nämlich selbst erstellen. Es bringt ja wenig, wenn ich hier die perfekte Antwort bekomme, diese dann aber selbst nicht im Geringsten verstehe und beim nächsten Mal die gleiche Frage erneut stellen und damit eure wertvolle Zeit in Anspruch nehmen muss.

Wie bereits geschrieben, mit VBA habe ich noch nicht viel gearbeitet.

Zum besseren Verständnis habe ich nun 2 weitere Abfragen (Beruf und Datum) erstellt und das UserForm etwas vervollständigt. Die Datei habe ich noch einmal hochgeladen.

https://www.herber.de/bbs/user/78748.xlsm

Mit dem von dir gelieferten Code kann ich leider nicht viel anfangen. Ich habe diesen zwar (hoffentlich an der richtigen Stelle) eingefügt, jedoch weiß ich leider nicht, wie ich das Userform aufrufe.

Viele Grüße

Jürgen


  

Betrifft: AW: Zusätzliches Fenster zum Abfagen von Daten von: Hajo_Zi
Geschrieben am: 05.02.2012 11:54:43

Hallo Jürgen,

in einem Modul

Sub Start()
    userform1.show 
End sub 

und dieses Makro mit Deinem Schalter verbinden (rechte Maustaste)

Gruß Hajo


  

Betrifft: AW: Zusätzliches Fenster zum Abfagen von Daten von: Jürgen
Geschrieben am: 05.02.2012 12:04:32

Hallo Hajo,

perfekt, jetzt kann ich schon mal ein UserForm aufrufen. Aber wie bekomme ich nun die eingegebenen Informationen in die dafür vorgesehenen Zellen?

Gruß Jürgen


  

Betrifft: AW: Zusätzliches Fenster zum Abfagen von Daten von: Hajo_Zi
Geschrieben am: 05.02.2012 12:13:23

Hallo Jürgen,

den Code hatte ich für Zelle 3,19 schon gepostet. Es kam noch keine genauere Informatiuon zum eintragen. Es wird sofort eingetragen.

Gruß Hajo


  

Betrifft: AW: Zusätzliches Fenster zum Abfagen von Daten von: Jürgen
Geschrieben am: 05.02.2012 12:49:05

Hallo Hajo,

ich hab's geschafft. Wirklich super!

Nun hätte ich noch ein paar Fragen zu dem Userform. Die aktuellste Datei habe ich noch einmal hochgeladen. Sieht dank deiner Hilfe ja schon sehr gut aus!!!

https://www.herber.de/bbs/user/78750.xlsm

1. Ist es auch möglich, dass die Daten zuerst in das UserForm eingetragen werden und erst mit einem Klick auf OK eine Übertragung in die Zielfelder erfolgt? Wenn ja, wie geht das?

2. Im Feld "Datum" mache ich eine Eintragung im Format TT.MM.JJ, dies wird auch so im Zielfeld eingetragen, obwohl dort das Format TT.MM.JJJJ als Zellformat vorgegeben ist. Wie kann ich das Feld zur Eingabe des Datums (TextBox3) so anpassen, dass meine Eingabe automatisch in das Format TT.MM.JJJJ umgewandelt wird?

Viele Grüße

Jürgen


  

Betrifft: AW: Zusätzliches Fenster zum Abfagen von Daten von: Hajo_Zi
Geschrieben am: 05.02.2012 12:57:10

Hallo Jürgen,

zu 2 die Eingaben werden als Text in die Zelle eingetragen, nicht als Datum oder Zahl.
Lösche die Change Ereignisse und

Private Sub CommandButton1_Click()
    Cells(3, 19) = CDate(TextBox1)  ' Datum
    Cells(4, 19) = CDbl(TextBox2)   ' Zahl
    Cells(5, 19) = CDbl(TextBox3)   ' Text
End Sub

Für Textboxen kannst Du kein Format vorgeben, ist mir jedenfalls nicht bekannt. Wie hast Du das gemacht?
Private Sub TextBox6_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'   erstellt von HajoZiplies@web.de   Stand 01.08.03
'   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 TextBox6_AfterUpdate()
    Select Case KeyAscii
        Case Asc("0") To Asc("9")
        Case Asc(".")
            If Len(TextBox6) = 0 Then
                KeyAscii = 0
            Else
                If Len(TextBox6) - Len(Application.Substitute(TextBox6, ".", "")) = 2 Then
                    KeyAscii = 0
                ElseIf Len(TextBox6) > 1 Then
                    If Mid(TextBox6, Len(TextBox6), 1) = "." Then KeyAscii = 0
                Else
                    KeyAscii = Asc(".")
                End If
            End If
        Case Else
            KeyAscii = 0
    End Select
End Sub

Private Sub TextBox6_Change()
    If BoEnter = True Then Exit Sub
    If Len(TextBox6) = 2 Then
        If InStr(TextBox6, ".") = 0 And BoEnter = False Then TextBox6 = TextBox6 & "."
    ElseIf Len(TextBox6) = 5 Then
        If Len(TextBox6) - Len(Application.Substitute(TextBox6, ".", "")) < 2 Then
            TextBox6 = TextBox6 & "."
        End If
    End If
End Sub

Private Sub TextBox6_AfterUpdate()
    BoEnter = True
    If Right(TextBox6, 1) = "." Then TextBox6 = Mid(TextBox6, 1, Len(TextBox6) - 1)
    '   Jahreszahl vom aktuellen Jahr ergänzen falls nicht vorhanden
    If Len(TextBox6) - Len(Application.Substitute(TextBox6, ".", "")) = 1 Then
        TextBox6 = TextBox6 & "." & Year(Date)
    End If
    If IsDate(TextBox6.Text) Then
        If Format(CDate(TextBox6.Value), "dd.mm.yy") <> TextBox6 Then
            MsgBox "Das Datum wurde übersetzt"
        End If
        TextBox6 = Format(CDate(TextBox6.Value), "dd.mm.yy")
    Else
        TextBox6 = ""
    End If
    BoEnter = False
End Sub
Ich sah keine Notwendigkeit die Datei runterzuladen.

Gruß Hajo


  

Betrifft: AW: Zusätzliches Fenster zum Abfagen von Daten von: Jürgen
Geschrieben am: 05.02.2012 14:29:14

Hallo Hajo,

das hilft mir gerade leider überhaupt nicht weiter.

Wie ich das gemacht habe, weiß ich selbst nicht so genau. Das kannst du aber in der neue hochgeladenen Datei nachschauen.

Mit dem geposteten Code kann ich nicht viel anfagen. Was mus wo hin? Bin gerade vollkommen planlos.

Ist der lange Code nun die Lösung für meine Frage Nr. 1?

Viele Grüße

Jürgen


  

Betrifft: AW: Zusätzliches Fenster zum Abfagen von Daten von: Hajo_Zi
Geschrieben am: 05.02.2012 14:39:22

Hallo Jürgen,

der lange Code ist für die Datumseingabe.
Es gibt hunderte Einstellungen für die Textbox, da finde ich nicht raus wo Du das Format eingetellt hast, wobei ich der Auffassung bin das geht nicht. Also habe ich auch keinen Ansatz wo ich suchen sollte.

Gruß Hajo


  

Betrifft: AW: Zusätzliches Fenster zum Abfagen von Daten von: Jürgen
Geschrieben am: 05.02.2012 16:11:58

Hallo Hajo,

eingestellt habe ich nur das Format der Zeilzelle (Datum TT.MM.JJJJ).

Danke für deine Hilfe und einen schönen Rest-Sonntag.

Gruß

Jürgen


Beiträge aus den Excel-Beispielen zum Thema "Zusätzliches Fenster zum Abfagen von Daten"