Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1492to1496
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Größe definieren bei dynamischen Textboxen
21.05.2016 15:44:57
Robert
Hallo Zusammen,
ich benutze diesen Code:
Private Sub UserForm_Activate()
Dim colCtl
Dim i As Integer
Dim ctl As MSForms.TextBox
Dim zeilen As String
zeilen = Worksheets("Eingang").Cells(Rows.Count, 10).End(xlUp).Row
If zeilen 
Nun habe ich 3 Probleme:
1. Wie kann ich die Größe (höhe und länge) der Textboxen definieren?
2. Ist es möglich mehrere Textboxen nebeneinander zu generieren um auch die Zeile 11, 12 und 13 laden zu lassen?
3. Wie kann ich den Inhalt dieser Textboxen dann in ein anderes Tabellenblattes via Kopfdruck schreiben lassen? vorzugsweise immer ans Ende.
Vielen Dank schonmal vorab für eure Hilfe,

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Größe definieren bei dynamischen Textboxen
21.05.2016 16:24:20
Nepumuk
Hallo,
VBA gut? Und dann solche Fehler wie zeilen As String oder einer völlig sinnlosen Collection?
Private Sub UserForm_Activate()
    
    Dim i As Long, zeilen As Long, lngIndex As Long
    Dim ctl As MSForms.TextBox
    
    With Worksheets("Eingang")
        
        zeilen = .Cells(.Rows.Count, 10).End(xlUp).Row
        
        For i = 1 To Cint(zeilen)
            
            For lngIndex = 1 To 4
                
                Set ctl = Me.Controls.Add("Forms.TextBox.1", "TextBox0" & _
                    CStr(i) & "_" & CStr(lngIndex), True)
                
                With ctl
                    
                    .Width = 70
                    .Height = 18
                    .Top = 100 + i * .Height
                    .Left = 10 + 70 * (lngIndex - 1)
                    .Value = Worksheets("Eingang").Cells(i, 9 + lngIndex).Value
                    
                End With
            Next lngIndex
        Next i
        
        txt_Zulieferer.Value = .Range("B2").Value
        txt_Artikelanzahl.Value = .Range("A2").Value
        
    End With
End Sub

Die TextBoxen kannst du ganz einfach per: Controls("TextBox01_1") ansprechen.
Gruß
Nepumuk

Anzeige
AW: Größe definieren bei dynamischen Textboxen
21.05.2016 16:51:13
Robert
Danke für die super schnelle Antwort Nepumuk,
ich bin halt etwas eingebildet :-) machen wir aus dem gut lieber fortgeschrittener Anfänger einverstanden?
Soweit du mir das gebaut hast sieht alles prima aus.
Bitte erklär mir noch kurz wie die Spaltenbreite individuell festlegen kann.
Ich hab in der ersten Textbox eine zweistellige Zahl, 2 Textbox mehrere Wörter 3 Textbox vierstellige Zahl und 4 Textbox befülle ich selber mit einer vierstelligen Zahl.
Es wäre also klasse wenn ich die Textbox 2 größer machen könnte als Textbox 1,3 und 4.
Kannst du mir da nochmal eben helfen?
Danke und Gruß Robert

Anzeige
AW: Größe definieren bei dynamischen Textboxen
21.05.2016 17:02:00
Nepumuk
Hallo,
so:
.Width 30 + 40 * CLng(lngIndex = 3) * -1

Gruß
Nepumuk

AW: Größe definieren bei dynamischen Textboxen
21.05.2016 17:21:04
Robert
okay, machen wir blutiger Anfänger draus ^^ wo soll ich das im Code einfügen?

Wo steht denn im Pgm .Width ? :-> owT
21.05.2016 17:39:57
Luc:-?
:-?

AW: Wo steht denn im Pgm .Width ? :-> owT
21.05.2016 17:46:56
Robert
wenn ich .Width = 70 einfach ersetze gibts eine Fehlermeldung

AW: Wo steht denn im Pgm .Width ? :-> owT
21.05.2016 18:06:38
Nepumuk
Hallo,
da fehlt ein = Zeichen nach Width in meinem Beispiel.
Gruß
Nepumuk

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige