Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 20181 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 ...

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

Frage von kluthi69 zum Thema Microsoft Office ...

Visual Studio
gelöst VB bestimmte Stelle im Bild highlighten wenn MouseOver Textbox? (9)

Frage von PixL86 zum Thema Visual Studio ...

Neue Wissensbeiträge
Sicherheit

Millionen Euro in den Sand gesetzt?

Information von transocean zum Thema Sicherheit ...

Sicherheit

How I hacked hundreds of companies through their helpdesk

Information von SeaStorm zum Thema Sicherheit ...

Erkennung und -Abwehr

Ccleaner-Angriff war nur auf große Unternehmen gemünzt

(10)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Heiß diskutierte Inhalte
Humor (lol)
gelöst Freidach Beitrag (40)

Frage von Penny.Cilin zum Thema Humor (lol) ...

Windows 7
gelöst SSD - Win7 Lags (20)

Frage von ph5555 zum Thema Windows 7 ...

Firewall
gelöst Firewall Firmeneimsatz (19)

Frage von wiesi200 zum Thema Firewall ...