Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten aus Tabelle in Formular anzeigen

Forumthread: Daten aus Tabelle in Formular anzeigen

Daten aus Tabelle in Formular anzeigen
Wolle
Hallo Forum,
ich möchte gerne den Bereich A3 / C6 über ein formular füllen. Aufgerufen wird das Formular über den Button "Formular".
Das Formular selber habe ich auch schon fertig (siehe angehängte Datei).
Jetzt zu meiner Frabe: In dem aufgerufenen Formular sollen die Daten die schon in dem Bereich stehen angezeigt werden. Im Moment ist das Formular immer leer und die gefahr des überschreibens einer gefüllten Zelle ist zu groß.
Könnt Ihr mir helfen?
Danke sagt Wolfgang aus Norddeutschland
https://www.herber.de/bbs/user/66276.xls
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
drehe den Spieß einfach rum
30.11.2009 12:08:33
Tino
Hallo,
und schreibe die vorhandenen Daten beim initialisieren in die Form.
Private Sub UserForm_Initialize()
With Tabelle1
'Anzeige 1
TextBox1 = .Cells(3, 1) 'zeit_1_1
TextBox2 = .Cells(3, 2) 'zeit_1_2
TextBox3 = .Cells(3, 3) 'text_1
'usw...
End With
End Sub
Gruß Tino
Anzeige
AW: drehe den Spieß einfach rum
30.11.2009 12:38:26
Wolle
Vielen Dank Tino, das hat wunderbar geklappt. Es ist doch gaaanz einfach .... wenn man weiß wie.
Danke für die Hilfe.
Wolfgang aus Norddeutschland
AW: drehe den Spieß einfach rum
30.11.2009 15:20:47
Wolle
Da bin ich nochmal.
Das Formular schreibt das Datum immer als Text in meine Mappe. Gibt es da eine Möglichkeit den Text der mit dem Formular in die Mappe geschrieben worde ist, in DATUMSFORMAT tt.mm.jjjj zu ändern?
Habe gesucht und keine Lösung gefunden, bzw. wusste nicht wie ich es einfügen sollte.
Danke und Gruß Wolle
Anzeige
AW: drehe den Spieß einfach rum
01.12.2009 09:20:40
Tino
Hallo,
wandle den Text in der Textbox in ein Datum um.
.Cells(3, 1) = DateValue(TextBox1)
Nur müsstest Du dafür sorgen, dass in die Textbox immer ein gültiges Datum eingegeben wird,
dazu gibt es bestimmt einiges im Archiv.
Gruß Tino
;
Anzeige
Anzeige

Infobox / Tutorial

Daten aus Tabelle in Formular anzeigen


Schritt-für-Schritt-Anleitung

  1. Formular erstellen: Stelle sicher, dass du ein UserForm in Excel erstellt hast. Du kannst dies über den VBA-Editor tun (Alt + F11), dann im Menü "Einfügen" auf "UserForm" klicken.

  2. Daten anzeigen: Um Daten aus einem bestimmten Bereich (z.B. A3:C6) in das Formular zu laden, verwende die UserForm_Initialize-Methode. Füge den folgenden VBA-Code in den Code-Editor des UserForms ein:

    Private Sub UserForm_Initialize()
    With Tabelle1
        TextBox1 = .Cells(3, 1) 'zeit_1_1
        TextBox2 = .Cells(3, 2) 'zeit_1_2
        TextBox3 = .Cells(3, 3) 'text_1
        'usw...
    End With
    End Sub
  3. Daten speichern: Um sicherzustellen, dass die eingegebenen Daten im richtigen Format (z.B. als Datum) gespeichert werden, kannst du den folgenden Code verwenden:

    .Cells(3, 1) = DateValue(TextBox1)
  4. Formular aufrufen: Füge einen Button in dein Arbeitsblatt ein, um das Formular zu öffnen. Verwende dafür folgenden Code im Button:

    Private Sub CommandButton1_Click()
        UserForm1.Show
    End Sub

Häufige Fehler und Lösungen

  • Formular bleibt leer: Wenn das Formular leer bleibt, überprüfe, ob der Code in der UserForm_Initialize-Methode korrekt ist und an die richtige Tabelle verweist.

  • Datum als Text gespeichert: Wenn das Datum als Text gespeichert wird, stelle sicher, dass du den DateValue-Befehl verwendest, um den Text in ein Datum umzuwandeln.


Alternative Methoden

Eine alternative Methode, um Daten in ein Formular zu laden, besteht darin, die Worksheet_Change-Ereignisprozedur zu verwenden. Damit kannst du das Formular automatisch aktualisieren, wenn sich die Daten in der Tabelle ändern.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A3:C6")) Is Nothing Then
        UserForm1.Show
    End If
End Sub

Praktische Beispiele

Angenommen, du möchtest das Datum im Format tt.mm.jjjj speichern. Füge diesen Code in die Schaltfläche zum Speichern der Daten ein:

Private Sub CommandButton2_Click()
    Dim eingabeDatum As String
    eingabeDatum = TextBox1.Text
    If IsDate(eingabeDatum) Then
        .Cells(3, 1) = Format(DateValue(eingabeDatum), "dd.mm.yyyy")
    Else
        MsgBox "Bitte ein gültiges Datum eingeben."
    End If
End Sub

Tipps für Profis

  • Datenvalidierung: Stelle sicher, dass du die Eingaben in den Textboxen validierst, um sicherzustellen, dass nur gültige Daten eingegeben werden. Dies kann durch das Hinzufügen von If-Bedingungen geschehen.

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung in deinem Code, um unerwartete Fehler abzufangen und dem Benutzer hilfreiche Fehlermeldungen anzuzeigen.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Datenfelder im Formular anzeigen?
Du kannst mehrere Textboxen im UserForm hinzufügen und für jede Textbox einen entsprechenden Code in der UserForm_Initialize-Methode hinzufügen.

2. Was mache ich, wenn das Datum nicht korrekt formatiert wird?
Verwende den DateValue-Befehl, um sicherzustellen, dass die Eingabe als Datum interpretiert wird, und formatiere das Datum dann mit Format, um das gewünschte Format zu erhalten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige