MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 06.12.2018, 16:03   #1
mrcojanes
MOF User
MOF User
Standard VBA - Command Buttons

Hallo zusammen,

gibt es die möglichkeit über eine For - schleife den Inhalt von commandbuttons anzupassen und wenn ja, würde ich mich über ein Beispiel freuen

Gruß
MrCojanes

EDIT: Vielleicht noch ein bisschen mehr Info. Ich habe 159 Kopier Button und habe keine Lust in jede TexteBoxZ = TextBoxY zu schreiben.
Die Schleife benötige ich, da diese Kopier Button auf 4 "spalten" in der Userform aufgeteilt sind.

Geändert von mrcojanes (06.12.2018 um 16:08 Uhr).
mrcojanes ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 06.12.2018, 16:17   #2
Beverly
MOF Guru
MOF Guru
Standard

Hi,

Frage: seit wann haben CommandButton "Inhalte"? Oder meinst du den Code der CommandButton? Woran erkennt man, von wo nach wo kopiert werden soll?


GrußformelBeverly's Excel - Inn

__________________

Bitte im Beitrag eine kurze Rückmeldung auch in dem Fall geben, wenn ein Problem gelöst wurde - dies hilft auch anderen Usern, wenn sie den betreffenden Thread lesen.
Möchtest du dich außerdem für die Hilfe bei der Lösung deines Problems bedanken? Das kannst du ganz einfach durch die Bewertung eines Beitrags (Schalter unten links).
Beverly ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 06.12.2018, 16:17   #3
R J
MOF Meister
MOF Meister
Standard

Hi,

den Inhalt von Commandbuttons anpassen? Keine Ahnung, was Du damit meinst. Die Caption?
Sicher kann man 159 Buttons über eine Schleife laufen lassen, aber bei 159 Buttons würde ich eher eine Buttonklasse erstellen oder mir mal generell Gedanken über die Logik, Sinnhaftigkeit und Benutzerfreundlichkeit des Programms machen. Stell mal ein Beispiel ein....

__________________

Ciao, Ralf

Kommt mir irgendwie bekannt vor...
Auf, zum Markplatz der Ideen!
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.


R J ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 06.12.2018, 16:23   #4
mrcojanes
Threadstarter Threadstarter
MOF User
MOF User
Standard

Zitat:

Code der CommandButton

tut mir Leid, ich meinte natürlich den Code.

Zitat:

Woran erkennt man, von wo nach wo kopiert werden soll?

Immer die Textbox eins oben drüber.

Zitat:

Gedanken über die Logik, Sinnhaftigkeit und Benutzerfreundlichkeit des Programms machen

Soll schon so sein.
Angehängte Dateien
Dateityp: xls Beispielmappe.xls (72,5 KB, 9x aufgerufen)
mrcojanes ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 06.12.2018, 17:08   #5
R J
MOF Meister
MOF Meister
Standard

Zitat:

Soll schon so sein.

...muss aber nicht!

Denn von der Wartbarkeit des Programms hab ich ja noch nicht gesprochen. Wenn ich mir allein die Change Ereignisse der Textboxen ansehe. (Gibts da im Original auch 159?) 159 mal identischer Code. Auch da wäre eine Klasse denkbar, oder wenigstens die identischen Anweisungen in eine einzige Prozedur auslagern.
Bsp.:
Code:

Sub tbChange(tb As MSForms.TextBox)
    Const TEXTBOX_HEIGHT = 25.5
    Const TEXTBOX_WIDTH = 168
    Application.ScreenUpdating = False
    With tb
        If .TextLength > 0 Then
            .AutoSize = True
            If .Height > TEXTBOX_HEIGHT Then
                Do While .Height > TEXTBOX_HEIGHT
                    .Font.Size = .Font.Size - 0.1
                    .Width = TEXTBOX_WIDTH
                Loop
            Else
                Do While .Height < TEXTBOX_HEIGHT
                    .Font.Size = .Font.Size + 0.1
                    .Width = TEXTBOX_WIDTH
                Loop
                If .Height > TEXTBOX_HEIGHT Then _
                    .Font.Size = .Font.Size - 0.1
            End If
            .AutoSize = False
            .Width = TEXTBOX_WIDTH
            .Height = TEXTBOX_HEIGHT
        Else
            .Width = TEXTBOX_WIDTH
            .Height = TEXTBOX_HEIGHT
            .Font.Size = 10
        End If
    End With
    Application.ScreenUpdating = True
End Sub

Private Sub TextBox1_Change()
    tbChange Me.TextBox1
End Sub

Private Sub TextBox2_Change()
    tbChange Me.TextBox2
End Sub
'usw....
Mit den Buttons kannst Du analog dazu verfahren. Da ich aber keine Anweisungen für die Buttons gefunden habe, musst Du das halt selbst erledigen...

__________________

Ciao, Ralf

Kommt mir irgendwie bekannt vor...
Auf, zum Markplatz der Ideen!
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.


R J ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 06.12.2018, 19:14   #6
mrcojanes
Threadstarter Threadstarter
MOF User
MOF User
Standard

Nein sind 240 Boxen

Und langen Code habe ich schon entfernt

Okay, danke dann bastel ich mal ein wenig
mrcojanes ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 06.12.2018, 23:41   #7
Beverly
MOF Guru
MOF Guru
Standard

Hi,

ich empfehle dir, die TextBoxen und die CommandButton fortlaufend nummeriert zu benennen - z.B. TextBoxen TL1, TL2, TL3 bzw. CommandButton CBL1, CBL2, CBL3 usw. in der linken Spalte und TextBoxen TR1, TR2, TR3 bzw. CommandButton CBR1, CBR2, CBR3 usw. für die rechte Spalte. Dann lässt sich mittels Klassenprogrammierung der CommandButton problemlos auf die zugehörigen TextBoxen anhand der fortlaufenden Nummer zugreifen.

Ich habe das mal für einige TextBoxen/CommandButton in beiden Spalten ausgeführt. Das Zuweisen der CommandButton zur Klasse erfolgt im UserForm_Initialize-Ereignis (beachte auch die Deklaration der Klasse oben im Code). Der eigentliche Code für die CommandButton befindet sich im Klassenmodul clsButton und benutzt die Nummerierung als Zuordnungskriterium.

Deinen Code habe ich mir nicht angesehen, aber dort musst du sicher die Ansprache der TextBoxen entsprechend anpassen.


GrußformelBeverly's Excel - Inn
Angehängte Dateien
Dateityp: xls RE_UF_Klassenprogrammierung.xls (90,0 KB, 3x aufgerufen)

__________________

Bitte im Beitrag eine kurze Rückmeldung auch in dem Fall geben, wenn ein Problem gelöst wurde - dies hilft auch anderen Usern, wenn sie den betreffenden Thread lesen.
Möchtest du dich außerdem für die Hilfe bei der Lösung deines Problems bedanken? Das kannst du ganz einfach durch die Bewertung eines Beitrags (Schalter unten links).
Beverly ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.12.2018, 08:43   #8
mrcojanes
Threadstarter Threadstarter
MOF User
MOF User
Standard

Guten Morgen Beverly,

Die Textboxen sind in der Originaldatei fortlaufen und ich habe vergessen, das die Beispieldatei eine sehr alte Version ist, trotzdem danke für den Hinweis

Zitat:

Deinen Code habe ich mir nicht angesehen, aber dort musst du sicher die Ansprache der TextBoxen entsprechend anpassen

Ich teste später mal und gebe feedback

Gruß

EDIT: Klappt wunderbar , Danke!

Geändert von mrcojanes (07.12.2018 um 08:48 Uhr).
mrcojanes ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:14 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.