Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
968to972
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
968to972
968to972
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

In einer MultiPage1 auf gleichen Code zugreifen

In einer MultiPage1 auf gleichen Code zugreifen
22.04.2008 12:18:06
edie
Hallo zusammen,
habe eine MultiPage1 mit 3 Pages darauf einige Steuerelemente
wie TextBox und CommandButton. Entsprechen ist z. B.
auf der Page1 die TextBox1 auf der Page2 die TextBox2 und
auf der Page3 die TextBox3 u.s.w. Da der Code zu umfangreich
ist habe ich es ins Modul geschrieben und spreche die Elemente
z. B. mit Form1.TextBox1 oder Form1.TextBox2 an. Soweit
funktioniert alles auch.
Nun würde ich gerne am Code sparen weil es immer 3-fach ist.
Der gleiche Code erst für die Page1 mit deren Steuerelemente dann für
die Page2 dann Page3, zumal in den 3 Pages immer die gleichen
Berechnungen stattfinden nur für 3 verschiedene Themen.
Können Steuerelemente die zwar jede für sich auf der Page befinden
trotzdem auf einen Code zugreifen?
So etwa „TextBox.Value & Nummer der Box“
Ich hoffe es ist einigermaßen verständlich beschrieben.
Hat jemand eine Idee und kann dabei helfen?
Vielen Dank im Voraus.
Grüße

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In einer MultiPage1 auf gleichen Code zugreifen
22.04.2008 13:46:00
Ralf
Hi edie,
unter Deinen geg. Voraussetzungen sollte das funktionieren:
Dim obj As Object, x%

Private Sub MultiPage1_Change()
Dim objAlle     As MSForms.Control
Dim aktSeite$
aktSeite = VBA.Right(MultiPage1.SelectedItem.Name, 1) ' funktioniert so nur bei einstelligen  _
Zahlen (Page1 bis Page 9), ansonsten anpassen
For Each objAlle In Me.Controls
If TypeName(objAlle) = "TextBox" Then
If VBA.Right(objAlle.Name, 1) = aktSeite Then 'wenn Textbox1 auf Page1 liegt usw...
Set obj = objAlle
Ausfuehren
Exit For
End If
End If
Next objAlle
End Sub


Sub Ausfuehren()
'Das wäre z. Bsp. die Prozedur, die für alle Objekte gemeinsam, aber nur für das jeweils aktive Objekt ausgeführt werden soll
MsgBox obj.Name
x = x + 1
obj.Value = x
Set obj = Nothing
End Sub


Ciao, Ralf

Anzeige
AW: In einer MultiPage1 auf gleichen Code zugreifen
22.04.2008 14:01:00
edie
Hallo Ralf,
ich hatte in die Richtung auch gedacht konnte es aber nicht umsetzen.
Die andere möglichkeit wäre, Objekte wärend der Laufzeit zu erstellen?
Viele herzlichen Dank.
Grüße

AW: Zusatzfrage
22.04.2008 14:18:00
edie
Hallo Ralf,
ich habe in der MultiPage1 eine zweite MultiPage2 und in der sind die
Objekte wie wäre dann die Syndax?
Wenn ich ausser TextBox auch CommandButton habe
wie ist es mit der Abfrage If TypeName(objAlle) = "TextBox".
Wie ist die Syntax für CommandButton?
Vielen Dank im Voraus.
Grüße

AW: Zusatzfrage
22.04.2008 17:23:00
Ralf
Hi edie,
das sähe dann in etwa so aus...
Sub Ausfuehren()
'Das wäre z. Bsp. die Prozedur, die für alle Objekte gemeinsam, aber nur für das jeweils aktive Objekt ausgeführt werden soll
x = x + 1
'Ich gehe jetzt davon aus, dass nur Textboxen und Commandbuttons vorhanden sind...
If InStr(1, obj.Name, "Button") > 0 Then
obj.Caption = x
Else
obj.Value = x
End If
Set obj = Nothing
End Sub



Private Sub MultiPage2_Change()
Dim objAlle     As MSForms.Control
Dim aktSeite$
'Multipages heißen Multipage1 und Multipage2 wobei die 2. auf der 1. liegt.
'Auf Multipage2 liegen die Textboxen Textbox1 und Textbox2 sowie die Buttons Commandbutton1 und  _
Commandbutton2
aktSeite = MultiPage2.SelectedItem.Index + 1
For Each objAlle In Me.Controls
If TypeName(objAlle) = "TextBox" Then
If VBA.Right(objAlle.Name, 1) = aktSeite Then 'wenn Textbox1 auf Page1 (Index = 0)  _
von Multipage2 liegt usw...
Set obj = objAlle
Ausfuehren
'                Exit For
End If
End If
If TypeName(objAlle) = "CommandButton" Then
If VBA.Right(objAlle.Name, 1) = aktSeite Then
Set obj = objAlle
Ausfuehren
'                Exit For
End If
End If
Next objAlle
End Sub


Anzeige
AW: Zusatzfrage
22.04.2008 21:41:00
edie
Hallo Ralf,
werde umgehend testen.
Vielen herzlichen Dank.
Grüße

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige