Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

mehrere Textboxen einblenden

Betrifft: mehrere Textboxen einblenden von: Ludicla
Geschrieben am: 25.08.2014 14:49:43

Hallo Profis,

ich komm wieder mal nicht weiter.

wie kann ich mehrere Textboxen auf einmal auf Visible gleich true stellen.

z. B. Eingabe 5
dann sollen die Textboxen 1 bis 5 eingeblendet werden.

bei Eingabe 3 nur die Textbox 1 - 3

Gruss Ludicla

  

Betrifft: AW: mehrere Textboxen einblenden von: Ewald
Geschrieben am: 25.08.2014 15:01:47

Hallo Ludicla,

teste mal

Sub Einblenden()
Dim i As Long
Dim x As Long
x = 5
On Error GoTo Fehler
For i = 1 To x
 ActiveSheet.OLEObjects("TextBox" & i).Visible = True
 Next
Fehler:
 MsgBox "Es sind nur " & i - 1 & " Textboxen vorhanden"
End Sub

Sub Ausblenden()
Dim i As Long
Dim x As Long
x = 5
On Error GoTo Fehler
For i = 1 To x
 ActiveSheet.OLEObjects("TextBox" & i).Visible = False
 Next
Fehler:
 MsgBox "Es sind nur " & i - 1 & " Textboxen vorhanden"
End Sub
Gruß Ewald


  

Betrifft: AW: mehrere Textboxen einblenden von: Ludicla
Geschrieben am: 25.08.2014 15:04:55

Hallo Ewald,

wird mich mal gleich drüberstürzen.

Dankeschön.


  

Betrifft: pack noch ein Exit Sub mit rein von: Matthias L
Geschrieben am: 25.08.2014 15:30:54

Hallo

Ich würde hier vor die Zeile Fehler:
noch ein Exit Sub setzen (in beiden Sub's)
Sonst bekommst Du immer eine Meldung

Gruß Matthias


  

Betrifft: AW: mehrere Textboxen einblenden von: Adis
Geschrieben am: 25.08.2014 18:01:47

Hallo

mir ist für dieses Problem eine alte Schreibweise aus Excel7 Zeit bekannt.
Dort konnte man mehrere Objekte in ein Array zusammenfassen.

Anbei eine kleines Beispiel aus meiner Datei mit drei Kontroll Boxen. Hier nannte man Objekte DrawingObject.
Probier mal ob das Array auch auf OLEObjekte anwendbar ist. Würde mich freuen wenn es klappt.

ActiveSheet.DrawingObjects(Array("Check Box 1", "Check Box 2", "Check Box 3")).Visible = False
ActiveSheet.OLEObjects(Array("TextBox1", "TextBox2", "TextBox3")).Visible = False


Gruss Adis


  

Betrifft: AW: mehrere Textboxen einblenden von: Ewald
Geschrieben am: 26.08.2014 00:39:13

Hallo,

dann verbessern wir noch etwas mehr

Sub Einblenden()
Dim i As Long
Dim x As Long
Dim y As Long
For i = 1 To ActiveSheet.OLEObjects.Count
    If ActiveSheet.OLEObjects(i).Name = "TextBox" & i Then
        y = y + 1
    End If
Next
x = Application.InputBox("Geben Sie eine Zahl von 1 bis " & y & " ein")
    If x > y Or x = 0 Then
        MsgBox "sie haben sich nicht an die Vorgabe gehalten,oder abgebrochen,es werden keine  _
Textboxen eingeblendet"
        Exit Sub
    Else
        For i = 1 To x
            ActiveSheet.OLEObjects("TextBox" & i).Visible = True
        Next
    End If
End Sub

Sub Ausblenden()
Dim i As Long
Dim y As Long
For i = 1 To ActiveSheet.OLEObjects.Count
    If ActiveSheet.OLEObjects(i).Name = "TextBox" & i Then
        y = y + 1
    End If
Next
For i = 1 To y
 ActiveSheet.OLEObjects("TextBox" & i).Visible = False
 Next
End Sub
Gruß Ewald


  

Betrifft: AW: mehrere Textboxen einblenden von: Ludicla
Geschrieben am: 26.08.2014 09:07:52

Dank für eure Hilfe,

aber ich hab gestern vergessen dass ich eine Userform benutze und die Eingabe
in einer Combobox vornehme. Bei dem Eintrag in die Combobox soll er die gleiche Anzahl
von TextBoxen einblenden.

bis jetzt habe ich: bei Eingabe 1: Textbox1.visible = true

bei Eingabe 2: Textbox1.visible = True
Textbox2.visible = True

bei Eingabe 3: Textbox1.visible = true
Textbox2.visible = true
Textbox3.visible = true
usw. ist etwas mühselig.

Gruss Ludicla


  

Betrifft: AW: mehrere Textboxen einblenden von: Ewald
Geschrieben am: 26.08.2014 11:06:21

Hallo,

dann so, Userform.Name anpassen

Private Sub ComboBox1_Change()
Dim i As Long
Dim x As Long
Dim y As Long
Dim c As Control
For Each c In UserForm3.Controls
        If LCase(TypeName(c)) = "textbox" Then
            y = y + 1
        End If
    Next
    If ComboBox1.Value = "" Then
        For i = 1 To y
            UserForm3.Controls("TextBox" & i).Visible = False
        Next
    Else
    x = CDbl(ComboBox1.Value)
    If x > y Or x = 0 Then
        MsgBox " Es gibt keine " & x & " Textboxen"
        Exit Sub
    Else
        For i = 1 To x
            UserForm3.Controls("TextBox" & i).Visible = True
        Next
    End If
    End If
End Sub
Gruß Ewald


  

Betrifft: AW: mehrere Textboxen einblenden von: Ludicla
Geschrieben am: 26.08.2014 12:12:14

Danke Ewald

das wars. Nun flutscht es genauso wie gewünscht.

Gruss Ludicla


 

Beiträge aus den Excel-Beispielen zum Thema "mehrere Textboxen einblenden"