Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
468to472
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
468to472
468to472
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Alle TextBoxes in UF sollen ein Makro starten

Alle TextBoxes in UF sollen ein Makro starten
13.08.2004 11:29:04
Marco
Hallo zusammen,
ich habe folgendes Problem:
Ich habe eine UserForm mit 3 Frames und in diesen Frames befinden sich jeweils 42 TextBoxes. Ich möchte nun gern allen 126 TextBoxes das gleiche Makro zuweisen (Ausführung bei Doppelklick), allerdings möchte ich nicht 126 mal schreiben:

Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Application.Run ("Makro1")
End Sub

Gibt es da eine Möglichkeit?
Schon mal vielen Dank für eure Mühe!
Gruß
Marco
AW: Alle TextBoxes in UF sollen ein Makro starten
13.08.2004 11:34:24
Patrick
Du schreibst deinen Makro in eine Sub funktion also
Sub Makro()
dein Makro ...
End Sub
und dann schreibst in

Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
call Makro
End Sub

für Makro kannste auch einen anderen namen nehmen was weiß ich Toilettendeckel :)
AW: Alle TextBoxes in UF sollen ein Makro starten
13.08.2004 11:52:37
Marco
Hallo Patrick,
das müsste ich doch aber auch wieder allen TextBoxes einzeln zuordnen, oder habe ich dich falsch verstanden?
Gruß
Marco
AW: Alle TextBoxes in UF sollen ein Makro starten
13.08.2004 11:54:16
Patrick
Ja da hast du recht aber immer noch besser als 100 mal den Makro schreiben oder keine richtig antwort von ulf zu bekommen!! ;)
Viel Spaß noch
Excel Gut alles GUt
Anzeige
AW: Alle TextBoxes in UF sollen ein Makro starten
Beni
Hallo Marco,
wenn immer das gleiche Makro ausgeführt werden muss, dann klicke doch auf das Frame.
Gruss Beni

Private Sub Frame1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Makro ausführen
End Sub

AW: Alle TextBoxes in UF sollen ein Makro starten
13.08.2004 12:16:03
Marco
Hallo Beni,
das klappt leider nicht, da das dann laufende Makro den Inhalt der TextBox ausliest, aus der es gestartet wurde...
Trotzdem vielen Dank!
Gruß
Marco
AW: Alle TextBoxes in UF sollen ein Makro starten
Ulf
Dazu ist ein Klassenmodul nötig, bei VBA gut ja kein Problem.
Ulf
AW: Alle TextBoxes in UF sollen ein Makro starten
13.08.2004 11:40:15
patrick
Wie klassenmodul wie darf man das denn verstehen wie soll das gehen !!!!!
AW: Alle TextBoxes in UF sollen ein Makro starten
Ulf
VBA gut? Bemüh mal die Recherche.
Ulf
Anzeige
AW: Alle TextBoxes in UF sollen ein Makro starten
13.08.2004 11:45:25
Patrick
Ho Ho das haben wir hier aber nen ganz harten am start! Man das war ne frage die ... slos bleib mal locker und warum heißt das denn hier forum und nicht meker ecke ? Damit so "schleue" Leute wie du nicht so schleuen leuten in verzickten situationen wie zb. diese helfen und nicht an mekern !!!!!!
AW: Alle TextBoxes in UF sollen ein Makro starten
Ulf
Was willst du denn nun? Wenn du eine Frage hast, stell sie ins Forum.
Ulf
AW: Alle TextBoxes in UF sollen ein Makro starten
13.08.2004 11:45:41
Marco
Hallo Ulf,
mein Skill müsste wohl heißen Excel gut - VBA einigermaßen, aber ohne Makrorekorder.
Ich habe mich aber an die zur Verfügung stehenden Auswahlmöglichkeiten gehalten...
Also, mit Klassenmodulen habe ich bisher noch nichts zu tun gehabt, vielleicht kannst Du mir helfen?
Vielen Dank und Gruß
Marco
Anzeige
AW: Alle TextBoxes in UF sollen ein Makro starten
Ulf
In der Recherche ist da garantiert was zu finden. Falls du dich bis zum Ende meiner
Mittagspause (13:00) gedulden kannst, lade ich dir ein Beispiel hoch.
Ulf
AW: Alle TextBoxes in UF sollen ein Makro starten
13.08.2004 12:13:43
Marco
Hallo Ulf,
in der Recherche habe ich nichts gefunden, deshalb die Frage im Forum.
Ein Beispiel wäre klasse - bis dahin guten Hunger!
Danke und Gruß
Marco
AW: Alle TextBoxes in UF sollen ein Makro starten
Ulf
Thomas hat dir weiter unten ein Beispiel, wenn auch ein wenig umständlich, gepostet.
Du musst nur beachten, dass das Klassenmodul wirklich exakt so benannt wird.
Ulf
AW: Alle TextBoxes in UF sollen ein Makro starten
13.08.2004 13:01:04
Thomas
Was genau ist denn umständlich?
Gruß
Thomas
Risi Thomas Softwareentwicklung
Anzeige
AW: Alle TextBoxes in UF sollen ein Makro starten
Ulf
Wollte dir nicht zu nahe treten, ist alles super.
Ulf
AW: Alle TextBoxes in UF sollen ein Makro starten
Marco
Hallo Ulf,
auch dir vielen Dank.
Gruß
Marco
AW: Alle TextBoxes in UF sollen ein Makro starten
13.08.2004 12:25:31
Thomas
Hallo Marco
Füge ein Klassenmodul in Dein Projekt ein, und gib ihm den Namen CTB. Dann diesen Code einfügen ...


      
Option Explicit
Dim WithEvents TB As MSForms.TextBox
Public Function Create(TextBox As MSForms.TextBox) As Boolean
    
Set TB = TextBox
    
If Not TB Is Nothing Then _
        Create = 
True
End Function
Private Sub TB_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    MsgBox TB.Text
End Sub 


In das Initialze-Event Deiner UserForm dann das hier ...


      
Option Explicit
Dim CTBS() As CTB
Private Sub UserForm_Initialize()
    
    
Dim item As Object
    
    
Dim i As Integer: i = -1
    
    
For Each item In UserForm1.Controls
        
If TypeOf item Is MSForms.TextBox Then
            i = i + 1
            
ReDim Preserve CTBS(i)
            
Set CTBS(i) = New CTB
            CTBS(i).Create item
        
End If
    
Next item
    
End Sub 


Gruß
Thomas
Risi Thomas Softwareentwicklung
Anzeige
AW: Alle TextBoxes in UF sollen ein Makro starten
Marco
Hallo Thomas,
vielen Dank, das war genau das was ich gesucht habe!
Ich habe nur den Namen der UserForm ändern müssen und statt der MsgBox mein Makro aufgerufen.
Nochmals vielen Dank und Gruß
Marco

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige