Anzeige
Archiv - Navigation
1800to1804
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
Button Position per Code ändern
29.12.2020 17:22:23
Stefan
Hallo,
ich ändere in meinen Code die Eigenschaften eines Button in eine UserForm. Nun wird der Button so gesetzt wie ich das will. Jedoch möchte ich den Button für immer in den default Einstellungen von VBA in den Eigenschaften ändern, damit ich die Änderung auch sehen, wenn ich im Edition mir die Userform ansehen. Ist dies möglich?

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Button Position per Code ändern
29.12.2020 17:33:13
Hajo_Zi
ja Eigenschaft Top und Left

AW: Button Position per Code ändern
29.12.2020 17:55:01
Stefan
ja das mache ich ja auch so in meinem Cade. ABER ich schaffe es nicht, dass diese Werte dann in den Eigenschaften im VBA Editor übernommen werden. Was muss ich hierfür machen?
AW: Button Position per Code ändern
29.12.2020 17:59:01
Hajo_Zi
Zum Code Änderung muss Zugriff auf das VBA Projekt zugelassen werden.
Da dies tief in die Sicherheit geht, gebe ich dazu keine Auskunft.
Gruß Hajo
AW: Button Position per Code ändern
29.12.2020 18:34:53
Nepumuk
Hallo Stefan,
teste mal:
Option Explicit

Public Sub Test()
    With ThisWorkbook.VBProject.VBComponents("UserForm1").Designer.Controls("CommandButton1")
        .Top = 200
        .Left = 200
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: Button Position per Code ändern
29.12.2020 18:39:29
Carsten
ja, genau so.
AW: Button Position per Code ändern
29.12.2020 18:41:55
Carsten
Da passiert leider nichts :-(
AW: Button Position per Code ändern
29.12.2020 19:00:10
Carsten
mache bestimmt was falsch... die Tabell ist leer... bis auf den VBA Code?
AW: Button Position per Code ändern
29.12.2020 19:02:45
Nepumuk
Hallo Carsten,
was soll ich in die Tabelle reinschreiben? Schau dir das UserForm bevor und nachdem du das Makro laufen lässt an.
Gruß
Nepumuk
AW: Button Position per Code ändern
29.12.2020 19:27:03
Stefan
Hallo Nepumuk,
danke für deinen schnelle Antwort. Ich bekomme hier:
With ThisWorkbook.VBProject.VBComponents("UserForm1").Designer.Controls("CommandButton1")
einen Laufzeitfehler 1004 "Der programmatische Zugriff auf das Visual Basic Projekt ist nicht sicher"
Was muss ich ändern?
Gruß Stefan
Anzeige
AW: Button Position per Code ändern
29.12.2020 19:31:11
Nepumuk
Hallo Stefan oder Carsten?
in Excel - Datei - Optionen - Trust Center - Einstellungen für das Trust Center - Makroeinstellungen - Häkchen bei "Zugriff auf das VBA-Projektobjektmodell vertrauen" rein.
Gruß
Nepumuk
AW: Button Position per Code ändern
29.12.2020 19:55:12
Stefan
Ja so geht es DANKE
AW: Button Position per Code ändern
31.12.2020 07:50:20
Stefan
Hallo Nepumuk,
dein Code in deiner Excel Datei geht bei mir einwandfrei. Jetzt habe ich dies für meinen Code angepasst und bekomme die ganze Zeit den Fehler Laufzeitfehler 91 "Objektvariable oder With-Blockvariable nicht festgelegt. Finde den Fehler einfach nicht es ist eigentlich alles gleich bis auf die Userform die Seite1 statt Userform heißt.
Hier in der 1. Zeile:
With ThisWorkbook.VBProject.VBComponents("Seite1").Designer.Controls("CommandButton1")
.Height = 55
End With
Gruß Stefan
Anzeige
AW: Button Position per Code ändern
31.12.2020 09:48:25
Nepumuk
Hallo Stefan,
was ist "Seite1"?
Gruß
Nepumu
AW: Button Position per Code ändern
31.12.2020 16:40:06
Stefan
Hallo Nepumuk,
so heißt meine UserForm. Also Name ist "Seite1"
Habe es gerade nicht Seite1 benannt sondern wieder USerform1 dann geht es. - Warum ist das so?
Gruß Stefan
AW: Button Position per Code ändern
31.12.2020 17:03:51
Stefan
Hallo Nepumuk,
also noch einmal auf Anfang, Es ist egal, ob dort Seite1 oder Userform steht!
so geht es:
Option Explicit
Private Sub CommandButton3_Click()
With ThisWorkbook.VBProject.VBComponents("Seite1").Designer.Controls("CommandButton1")
.Top = 44
.Left = 77
End With
End Sub

Aber wenn ich da in meinem Code so mache in einem Modul, dann bekomme ich den Fehler:
Option Explicit
Private Sub inUF()
Dim Control
For Each Control In Seite1.Controls
With ThisWorkbook.VBProject.VBComponents("Seite1").Designer.Controls("CommandButton1")
.Height = 55 ' Cells(zz, 11)
End With
Next Control
End Sub

Was mache ich falsch?
Anzeige
AW: Button Position per Code ändern
01.01.2021 08:55:29
Nepumuk
Hallo Stefan,
durch deine Schleife ist das UserForm geladen und dann kannst du nicht mehr über den Designer darauf zugreifen.
Gruß
Nepumuk
AW: Button Position per Code ändern
05.01.2021 22:12:18
Stefan
Hallo Nepumuk,
danke für deine Hilfe, habe jetzt dies bei mir so geändert, dass es funktioniert. Nun noch eine Frage, gibt es auch eine Möglichkeit einen Button einzufügen, der im VBA Projekt dann dauerhaft erscheint? Ich möchte nur diesen Button einfügen und diesen vom Layout richtig in der Userform setzte, eine Code für die einzelnen Aktionen benötige ich nicht.
Danke für deine Hilfe. Gruß Stefan
AW: Button Position per Code ändern
06.01.2021 09:01:52
Nepumuk
Hallo Stefan,
so:
Option Explicit

Public Sub Test()
    
    Dim objCommandButton As MSForms.CommandButton
    
    'Set Control = object.Add( ProgID [, Name [, Visible]])
    
    Set objCommandButton = ThisWorkbook.VBProject.VBComponents("UserForm1").Designer.Controls.Add( _
        "Forms.CommandButton.1", "MyButton", True)
    
    With objCommandButton
        .Top = 100
        .Left = 100
        .BackColor = vbGreen
        .Caption = "Hallo"
    End With
    
    Set objCommandButton = Nothing
End Sub

Gruß
Nepumuk
Anzeige

8 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige