29. März 2024, 12:48
VB-fun.de - Beitragsübersicht zum VB-/VBA-Forum-Archiv 0415
  E03: Textbox als Variable
 Von Koppinka
 eMail
 Am 18. Dezember 2008 um 13:50:45
 Frage Hallo Spezialisten,

habe ein Workbook mit mehreren Tabellen, auf jede davon wird wiederum mit mehreren Formularen zugegriffen.
Nun hat mein Formular im Grundzustand 120 Textboxen in 20 Reihen zu 6 Spalten.
Angezeigt werden sollen aber nur so viele, wie Datensatzreihen belegt sind.

Dazu habe ich erst einmal alle Textboxen auf ".visible = false" gesetzt, will sie nun s.o. wieder sichtbar machen und mit Zuordnung "Textbox1 = frm...worksheets...cells..." holen.

Schon allein beim Holen der Daten gibt das einen irre langen Code (120 Zeilen für die Textboxen allein).
Das gleiche dann für die 20 Varianten der möglichen Datensatzanzahl.

Gibt es eine Möglichkeit, Textboxen als Variablen zu gestalten, so dass ich statt:
Option Explicit
Dim cntOG1 As Integer
Dim cntS As Integer
Dim n As Integer
Dim m As Integer
Dim Quell_FL As Worksheets

Sub Holen_OG_1()

cntOG1 = 0

For n = 0 To 99
If Worksheets("Feuerlöscher_55-56").Cells(n + 3, 2) = "EG" And _
Worksheets("Feuerlöscher_55-56").Cells(n + 3, 3) = "1" Then
cntOG1 = cntOG1 + 1
End If
Next n

If cntOG1 = 1 Then
frm_I_EG.TextBox1.Visible = True
frm_I_EG.TextBox2.Visible = True
frm_I_EG.TextBox3.Visible = True
frm_I_EG.TextBox4.Visible = True
frm_I_EG.TextBox5.Visible = True
frm_I_EG.TextBox6.Visible = True
frm_I_EG.OptionButton1.Visible = True
End If
If cntOG1 = 2 Then
frm_I_EG.TextBox1.Visible = True
frm_I_EG.TextBox2.Visible = True
frm_I_EG.TextBox3.Visible = True
frm_I_EG.TextBox4.Visible = True
frm_I_EG.TextBox5.Visible = True
frm_I_EG.TextBox6.Visible = True
frm_I_EG.TextBox7.Visible = True
frm_I_EG.TextBox8.Visible = True
frm_I_EG.TextBox9.Visible = True
frm_I_EG.TextBox10.Visible = True
frm_I_EG.TextBox11.Visible = True
frm_I_EG.TextBox12.Visible = True
frm_I_EG.OptionButton1.Visible = True
frm_I_EG.OptionButton2.Visible = True
End If
If cntOG1 = 3 Then
frm_I_EG.TextBox1.Visible = True
frm_I_EG.TextBox2.Visible = True
frm_I_EG.TextBox3.Visible = True
frm_I_EG.TextBox4.Visible = True
frm_I_EG.TextBox5.Visible = True
frm_I_EG.TextBox6.Visible = True
frm_I_EG.TextBox7.Visible = True
frm_I_EG.TextBox8.Visible = True
frm_I_EG.TextBox9.Visible = True
frm_I_EG.TextBox10.Visible = True
frm_I_EG.TextBox11.Visible = True
frm_I_EG.TextBox12.Visible = True
frm_I_EG.TextBox13.Visible = True
frm_I_EG.TextBox14.Visible = True
frm_I_EG.TextBox15.Visible = True
frm_I_EG.TextBox16.Visible = True
frm_I_EG.TextBox17.Visible = True
frm_I_EG.TextBox18.Visible = True
frm_I_EG.OptionButton1.Visible = True
frm_I_EG.OptionButton2.Visible = True
frm_I_EG.OptionButton3.Visible = True
End If
.
.
.
usw.
z.B. so etwas hätte:
' rein fiktiver code, wie ich es mir vorstelle
Option Explicit
Dim cntOG1 As Integer
Dim cntS As Integer
Dim n As Integer
Dim m As Integer
Dim i As Integer
Dim Quell_FL As Worksheets

Sub Holen_OG_1()

cntOG1 = 0

For n = 0 To 99
If Worksheets("Feuerlöscher_55-56").Cells(n + 3, 2) = "EG" And _
Worksheets("Feuerlöscher_55-56").Cells(n + 3, 3) = "1" Then
cntOG1 = cntOG1 + 1
End If
Next n

If cntOG1 = 1 Then
For i = 1 To 6
frm_I_EG.TextBox(i).Visible = True
Next i
frm_I_EG.OptionButton1.Visible = True
End If
If cntOG1 = 2 Then
For i = 1 To 12
frm_I_EG.TextBox(i).Visible = True
Next i
frm_I_EG.OptionButton1.Visible = True
frm_I_EG.OptionButton2.Visible = True
End If
If cntOG1 = 3 Then
For i = 1 To 18
frm_I_EG.TextBox(i).Visible = True
Next i
frm_I_EG.OptionButton1.Visible = True
frm_I_EG.OptionButton2.Visible = True
frm_I_EG.OptionButton3.Visible = True
End If
Das nächste wäre dann eine Formularvariable, damit ich statt nur mit "frm_I_EG. ..." auch mit "frm_II_EG. ..." usw. auf den im Modul befindlichen Code zugreifen kann.

Ich hoffe, dass dies nicht zu naiv gedacht ist und Ihr mir viel Schreibarbeit und MB's ersparen könnt.

Danke und MfG
[ VB-/VBA-Forum | Archiv 0415 | Archiv-Übersicht ]
 Antworten
E03: Textbox als Variable - Koppinka 18. Dezember 2008 um 13:50:45
Re: Textbox als Variable - r.mueller@sz-online.de 19. Dezember 2008 um 06:26:35
Re: Textbox als Variable - Koppinka 19. Dezember 2008 um 08:39:53

Zum Seitenanfang

Startseite | VB-/VBA-Tipps | Projekte | Tutorials | API-Referenz | Komponenten | Bücherecke | Gewinnspiele | VB-/VBA-Forum | DirectX | DirectX-Forum | VB.Net | VB.Net-Forum | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum