Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

TextBox in UserForm dynamisch ansprechen

Frage Entwicklung VB for Applications

Mitglied: lena123

lena123 (Level 1) - Jetzt verbinden

21.10.2007, aktualisiert 22.10.2007, 18636 Aufrufe, 8 Kommentare

Hallo!

Ich habe ein UserForm mit 10 TextBoxen mit den Namen: TextBoxA1, TextBoxA2, TextBoxA3, ...

Ich möchte jetzt mit einer Schleife die einzelnen TextBoxen ansprechen, mein Code sieht bis jetzt so aus:


Sub Test()

Dim tb As TextBox
Dim i As Integer

i = 1
Do While i < 11

With tb
.Name = "TextBoxA" & i
End With

Worksheets("Tabelle1").Cells(1, 1).Value = tb.Value

Loop

End Sub



Das funktioniert nur leider so nicht, hat jemand einen Tipp für mich?

Viele Grüße
Mitglied: vbMaxi
21.10.2007 um 16:51 Uhr
sers lena123,
setzt die Textboxen doch einfach in den Index also dann hast du Textbox(0), Textbox(1) und anstatt 0 und 1 schreibst du einfach i rein.

sieht dann ungefähr so aus:

01.
For i = 0 To 2 
02.
   t(i).Text = "hallo" 
03.
Next
lg vbmaxi
Bitte warten ..
Mitglied: lena123
21.10.2007 um 17:15 Uhr
Hallo vbmaxi,

danke für die Antwort, aber das habe ich schon versucht und die folgenden Möglichkeiten funktionieren leider nicht:

TextBoxA(i).Value
TextBoxA[i].Value
TextBox("A" & i).Value

Mit a = "TextBoxA" & i kann ich den Namen ansprechen aber ich möchte auch den Wert der in das Textfeld eingegeben wurde auslesen.

Vielleicht noch eine andere Idee?

Gruß
lena
Bitte warten ..
Mitglied: vbMaxi
21.10.2007 um 17:41 Uhr
hallo lena123,
wie ich das sehen benutzt du execel oder???
dann funktioniert des auch net weil execel diese index eigenschaft nicht unterstützt!!
sry mein fehler

lg vbmaxi
Bitte warten ..
Mitglied: lena123
21.10.2007 um 18:30 Uhr
Hallo vbmaxi,

ja stimmt, ich benutze Excel / VBA , habe ich vergessen zu erwähnen, aber trotzdem danke,

lg lena
Bitte warten ..
Mitglied: miniversum
21.10.2007 um 18:50 Uhr
Versuchs mal so:
01.
    For ti = 1 To 10 
02.
        For ci = 0 To UserForm1.Controls.Count - 1 
03.
            If UserForm1.Controls.Item(ci).Name = "TextBox" & ti Then 
04.
                MsgBox UserForm1.Controls.Item(ci).Text 
05.
            End If 
06.
        Next ci 
07.
    Next ti
Es werden alle steuerelemente auf der Form durchgesucht und wenn der name "TextBox" & ti (ti=nummer der textbox) lautet ist das das Steuerelement dieser Textbox und er kann verwendet werden (Hier wird der Text der darinsteht angezeigt).

miniversum
Bitte warten ..
Mitglied: lena123
21.10.2007 um 19:18 Uhr
Dankeschön miniversum,

so funktioniert es einwandfrei!

Gruß, lena
Bitte warten ..
Mitglied: bastla
21.10.2007 um 20:43 Uhr
Hallo lena123!

Als Alternative könntest Du auch ein "control array" (dynamisch) erstellen - das folgende Beispiel basiert auf einer UserForm mit 2 CommandButtons:
01.
Option Explicit 
02.
Dim Lb() As Control, Tx() As Control 
03.
 
04.
Private Sub CommandButton1_Click() 
05.
Tx(3).BackColor = vbRed 
06.
End Sub 
07.
 
08.
Private Sub CommandButton2_Click() 
09.
MsgBox Tx(3).Text 
10.
End Sub 
11.
 
12.
Private Sub UserForm_Click() 
13.
Dim i As Integer 
14.
For i = 1 To 4 
15.
    Me.Height = i * 20 + 40 
16.
    ReDim Preserve Lb(i) As Control, Tx(i) As Control 
17.
    Set Lb(i) = Controls.Add("Forms.Label.1", "lbl_" & CInt(i), True) 
18.
    With Lb(i) 
19.
        .Top = i * 20 + 2 
20.
        .Left = 10 
21.
        .Width = 58 
22.
        .Height = 12 
23.
        .Caption = "Beschriftung " & i & ":" 
24.
    End With 
25.
     
26.
    Set Tx(i) = Controls.Add("Forms.TextBox.1", "txt_" & CInt(i), True) 
27.
    With Tx(i) 
28.
        .Top = i * 20 
29.
        .Left = 70 
30.
        .Width = 150 
31.
        .Height = 15 
32.
        .Text = "leer " & i 
33.
    End With 
34.
Next 
35.
End Sub
Die dynamischen Steuerelemente werden per Click auf die bereits geladene UserForm erst erzeugt. Die Verwendung der indizierten Controls wird dann anhand der beiden Buttons demonstriert.

Grüße
bastla
Bitte warten ..
Mitglied: lena123
22.10.2007 um 08:25 Uhr
Hallo Bastla,

werd ich gleich nochmal ausprobieren, danke!

Vg lena
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Visual Studio
C-Sharp WPF Binding TextBox.Text und Property MVVM (die 2.) (4)

Frage von mayho33 zum Thema Visual Studio ...

Batch & Shell
gelöst Powershell: Suchen und dynamisch erweitern (2)

Frage von rkrausby zum Thema Batch & Shell ...

VB for Applications
Variablen aus Userform erst durch Bestätigung

Frage von Anrion zum Thema VB for Applications ...

DNS
Zwei VPN Server via SRV record ansprechen (2)

Frage von maddig zum Thema DNS ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...