UserForm

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: UserForm von: Eleni
Geschrieben am: 04.02.2005 18:32:43

Hi Forum,

Habe folgendes Problem: UserForm zieht aus bestimmten Zellen des ActiveSheet Daten heraus und führt diese an:



Private Sub Userform2_Activate()
    Userform2.Show
    Userform2.TextBox1 = ThisWorkbook.ActiveSheet.Cells(3, 1)
    Userform2.TextBox2 = ThisWorkbook.ActiveSheet.Cells(3, 2)
    Userform2.TextBox3 = ThisWorkbook.ActiveSheet.Cells(Rows.Count, 16).End(xlUp)
    Userform2.TextBox3 = ThisWorkbook.ActiveSheet.Cells(Rows.Count, 19).End(xlUp)
End Sub




User kann per OptionButtons irgendwas auswählen und anschließend die Daten per Klick auf OK in eine bestimmte Tabelle übertragen:



Private Sub CommandButton5_Click()
    If OptionButton1.Value = True Then
        Workbooks("Übersicht.xls").Activate
        Workbooks("Übersicht.xls").Sheets("Januar").Activate
        Sheets("Januar").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Val(TextBox1)
        Sheets("Januar").Cells(Rows.Count, 2).End(xlUp).Offset(1, 0) = Val(TextBox2)
        Sheets("Januar").Cells(Rows.Count, 3).End(xlUp).Offset(1, 0) = Val(TextBox3)
        Sheets("Januar").Cells(Rows.Count, 4).End(xlUp).Offset(1, 0) = Val(TextBox4)
        Unload Me
        ThisWorkbook.Activate
    End If
  End Sub



Leider übeträgt er nicht richtig die Daten in die TextBoxes, d.h. anstatt die Daten aus dem ActiveSheet aufzuführen, stehen in den TextBoxes die Daten aus dem früheren Tabellenblatt da. Wer kann helfen?



Danke, Eleni
Bild


Betrifft: AW: UserForm von: Luc
Geschrieben am: 04.02.2005 19:31:23

Hallo Eleni,
wie wird den die UF aufgerufen? Mit einem normalen Makro aus dem Makromodul oder über ein Ereignis auf z.B. einem Steuerelement (da wird es dann auch geladen!) - könnte es sein, dass dabei das alte Blatt wieder aktiviert wird (es ist doch sicher im gleichen Workbook wie das neue!)? In solchen Fällen ist es besser, man verwendet den Namen des Blattes - ActiveWorkbook.Sheets("xyz")... - statt ThisWorkbook.ActiveSheet... ActiveSheet.Name könnte bei Aufruf der UF auch mittels einer Variablen (statt "xyz") übergeben wdn.
Gruß Luc (der Echte, treibt sich nämlich ein Witzbold im Forum herum)


Bild


Betrifft: AW: UserForm von: Eleni
Geschrieben am: 07.02.2005 09:41:22

Hi "echter" Luc,

Habe mal mein vereinfachtes File angehängt, da die Story komplexer ist. File 1 startet beim Öffnen ein Makro, welches ein 2. File öffnet und die 1. UF aufruft. In UF1 werden Eingaben gemacht die in ein neu generiertes Blatt übertragen. Anhand dieser Eingaben wird das Blatt benannt (weswegen ich den Blattnamen nicht von vornherein weiß). Wenn man mit Eingeben fertig ist, drückt man Strg + B und es wird eingerahmt und summiert, bevor UF2 aufgerufen wird. Dieses 2. UF übeträgt Daten aus File 1 in File 2. Und das funktioniert nicht wie ich es mir vorstelle. Hoffe auf Hilfe.

https://www.herber.de/bbs/user/17563.xls



Ciao, Eleni


Bild


Betrifft: Lösung von: Eleni
Geschrieben am: 07.02.2005 16:45:48

Hi,

Für alle die es interessiert. Es muss heißen:

Userform2.Label8 = ThisWorkbook.ActiveSheet.Cells(3, 1)
Userform2.Label9 = ThisWorkbook.ActiveSheet.Cells(3, 2)
Userform2.Label10 = ThisWorkbook.ActiveSheet.Cells(Rows.Count, 16).End(xlUp)
Userform2.Label11 = ThisWorkbook.ActiveSheet.Cells(Rows.Count, 19).End(xlUp)
Userform2.Show

statt

Userform2.Show
Userform2.Label8 = ThisWorkbook.ActiveSheet.Cells(3, 1)
Userform2.Label9 = ThisWorkbook.ActiveSheet.Cells(3, 2)
Userform2.Label10 = ThisWorkbook.ActiveSheet.Cells(Rows.Count, 16).End(xlUp)
Userform2.Label11 = ThisWorkbook.ActiveSheet.Cells(Rows.Count, 19).End(xlUp)

Ciao, Eleni


Bild


Betrifft: Geschlossen, o. T. von: Eleni
Geschrieben am: 07.02.2005 16:46:32

o. T.


Bild


Betrifft: AW: na siehste! ...geht doch! Glückwunsch! owT von: Luc
Geschrieben am: 07.02.2005 21:15:53




 Bild

Beiträge aus den Excel-Beispielen zum Thema "UserForm"