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, 19876 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 ..
Ähnliche Inhalte
Microsoft Office
gelöst VBA Excel Problem mit UserForm, ListBox und TextBox (12)

Frage von abuelito zum Thema Microsoft Office ...

VB for Applications
gelöst VBA Textbox fokussieren und Daten über Button eintragen (1)

Frage von Aximand zum Thema VB for Applications ...

VB for Applications
Variablen aus Userform erst durch Bestätigung

Frage von Anrion zum Thema VB for Applications ...

Microsoft Office
gelöst Excel VBA In Userform Maske Text nach Eingabe löschen (1)

Frage von kluthi69 zum Thema Microsoft Office ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 im Unternehmen? (26)

Frage von zorlayan zum Thema Windows 10 ...

Festplatten, SSD, Raid
Raid 1 2 SSD mit Windows Server 2016 (17)

Frage von jaywee zum Thema Festplatten, SSD, Raid ...

Voice over IP
Über Fritzfax over IP gehen nur einige Faxe (11)

Frage von shearer9 zum Thema Voice over IP ...