Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

OOP in VBA ?

Forumthread: OOP in VBA ?

OOP in VBA ?
16.03.2005 10:51:31
Marc
Hallo Forum,
folgendes Problem:
Ich habe in einer UserForm eine ganze Reihe von SpinButtons die jeweils eine TextBox beeiflussen. Dabei ist SpinButton1 an TextBox1 usw. gebunden.
Anstatt mir nun die Finger wund zu programmieren, würde ich gerne eine Methode schreiben, die bei jedem SpinButton.Click aufgerufen wird, die 'Nummer' des aufrufenden SpinButton übernimmt und damit die entsprechende TextBox verändert.
In der OOP kein Problem, in VBA kenne ich die Lösung leider nicht.
Wer kann helfen?
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: OOP in VBA ?
16.03.2005 12:19:57
bst
Hallo Marc,
versuch's mal so. Hier mit 4 SpinButtons & 4 Textboxes in Userform2.
Alle SpinButtons müssen den Namen SpinButtonNR haben, mit NR = 1,2,3,...
Alle Textboxen müssen analog den Namen TextBoxNR haben.
In ein Modul:
Option Explicit
Public SpinButtonArray(1 To 4) As mySpinButton
In ein Klassenmodul mit dem Namen mySpinButton (Der Name ist wichtig !):
Option Explicit
Public WithEvents mySpinButton As MSFORMS.SpinButton

Private Sub mySpinButton_Change()
Dim myNum As Integer
myNum = CInt(Val(Replace(mySpinButton.Name, "SpinButton", "")))
If myNum <= 0 Then
Debug.Print "Falscher NAME !!!", mySpinButton.Name
Else
UserForm2.Controls("TextBox" & myNum).Value = mySpinButton.Value
End If
End Sub

Hinter die Userform2:
Option Explicit

Private Sub UserForm_Initialize()
Dim intIndex As Integer
Dim strName As String
For intIndex = 1 To 4
Set SpinButtonArray(intIndex) = New mySpinButton
strName = "SpinButton" & CStr(intIndex)
Set SpinButtonArray(intIndex).mySpinButton = Me.Controls(strName)
Next
End Sub

HTH, Bernd
Anzeige
AW: OOP in VBA ?
16.03.2005 14:04:22
Marc
Hallo Bernd,
vielen Dank für deine Lösung, funktioniert einwandfrei!
Gruß Marc
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige