Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
776to780
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
776to780
776to780
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dynamische Textbox ansprechen

Dynamische Textbox ansprechen
30.06.2006 20:16:36
Bendorf
Hi Forum :-)
Ich suche eine Möglichkeit meine dynamisch erstellten Textboxen später per Commandbutton wieder anzusprechen.
z.B Textbox1=[A1]
Dim textFld(26) As MSForms.TextBox
Set myrange = Worksheets("Messwerte").Range("1:1")
s = 255 - Application.WorksheetFunction.CountBlank(myrange) 'countblank Excelfunktion zählt die leeren Zellen
For a = 0 To s
Set textFld(a) = UserForm1.Controls.Add("Forms.textbox.1", , True)
With textFld(a)
.Left = 120
.Top = oben
.Width = 120
.Height = 15
cell = [A1]
Select Case a
Case 0 + a
cell = [A1].Offset(0, a)
.Text = cell
End Select
End With
oben = oben + 20
Next a
Hintergrund ist: Excel schaut nach wieviele gefüllte Spalten vorhanden und gibt in der Userform entsprechend viele Textboxen
mit der jeweils ersten Zelle aus. (A1 B1 C1 usw.) Ich möchte nun den Inhalt der Textbox ändern und per Button sagen können "übernehmen" und somit die Zelle A1 B1 C1 usw. ändern.
Wenn jemand eine Idee oder weis wie es geht bitte bitte melden Daaaannnnkkkkeeeee

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

Betreff
Datum
Anwender
Anzeige
AW: Dynamische Textbox ansprechen
30.06.2006 23:12:16
Herbert
Hi,
1. Das beantwortet nicht die Frage.
2. Dein Beispiel ist, speziell für Anfänger, ungeeignet, da es zahlreiche Schnitzer
und Fehler enthält.
mfg Herbert
@ Herbert
01.07.2006 10:15:44
Klaus-Dieter
Hallo Herbert,
1. Das beantwortet nicht die Frage. Warum nicht?
2. Dein Beispiel ist, speziell für Anfänger, ungeeignet, da es zahlreiche Schnitzer
und Fehler enthält.
Welche? Ich lerne gerne was dazu.
Viele Grüße
Klaus-Dieter
Anzeige
AW: Dynamische Textbox ansprechen
30.06.2006 23:21:52
Josef
Hallo Bendorf!
Eine Möglichkeit.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub MakeTextBox()
Dim textFld As MSForms.TextBox
Dim intCount As Integer, intIndex As Integer
Dim oben As Integer

oben = 20

intCount = Worksheets("Messwerte").Cells(1, Columns.Count).End(xlToLeft).Column

With UserForm1
  For intIndex = 1 To intCount
    Set textFld = .Controls.Add("Forms.textbox.1", , True)
    With textFld
      .Left = 120
      .Top = oben
      .Width = 120
      .Height = 15
      .Name = "TB" & intIndex
      .Text = Worksheets("Messwerte").Cells(1, intIndex)
    End With
    oben = oben + 20
  Next
  .Show
End With

End Sub


' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit
Dim lngIndex As Integer

Private Sub CommandButton1_Click()
'Down
Dim objTB As MSForms.Control

If lngIndex < Worksheets("Messwerte").Cells(Rows.Count, 1).End(xlUp).Row Then _
  lngIndex = lngIndex + 1

For Each objTB In Me.Controls
  If TypeOf objTB Is MSForms.TextBox Then
    With objTB
      If Left(.Name, 2) = "TB" Then
        .Text = Worksheets("Messwerte").Cells(lngIndex, Cint(Mid(.Name, 3)))
      End If
    End With
  End If
Next

End Sub


Private Sub CommandButton2_Click()
'Up
Dim objTB As MSForms.Control

If lngIndex > 1 Then lngIndex = lngIndex - 1

For Each objTB In Me.Controls
  If TypeOf objTB Is MSForms.TextBox Then
    With objTB
      If Left(.Name, 2) = "TB" Then
        .Text = Worksheets("Messwerte").Cells(lngIndex, Cint(Mid(.Name, 3)))
      End If
    End With
  End If
Next

End Sub


Private Sub UserForm_Activate()
lngIndex = 1
End Sub


Gruß Sepp

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige