Auslesen von Controls aus UserForm

Diskutiere und helfe bei Auslesen von Controls aus UserForm im Bereich Microsoft Office im Windows Info bei einer Lösung; Guten TagIch habe da eine Exceldatei mit etlichen UserForms. Leider wurden einige UserForms beschädigt. Ein automatische Reparatur ist nicht möglich.... Dieses Thema im Forum "Microsoft Office" wurde erstellt von JürgenBrändle, 23. Januar 2023 um 17:02 Uhr.

  1. Auslesen von Controls aus UserForm


    Guten TagIch habe da eine Exceldatei mit etlichen UserForms. Leider wurden einige UserForms beschädigt. Ein automatische Reparatur ist nicht möglich. Ich habe nun Code gefunden, mit denen ich die Items in der Form auslesen kann um sie dann in einer neuen UserForm wieder einzufügen.Mein Problem - In den UserForms hat es Frames, in denen hat es Objekte. Ausgelesen sieht das so ausNameHeightLeftTopWidthCaptionfrm_zeit12.00146.50423.00361.40Label28612.00179.251.0030.0013-14Label28712.00329.251.0030.0018-19Label28812.00239.251.0030.0015-16Label28912.00269.251.0030.0016-17Label29012.00299.251.0030.0
     
  2. AnnaK_22 Win User

    Auslesen von Controls aus UserForm

    Hallo Jennifer

    Ich bin Anna und helfe Ihnen gerne bei Ihrer Frage. In diesem Forum sind wir Microsoft-Verbraucher wie Sie.

    Um die Beziehung zwischen dem Rahmen und den darin enthaltenen Beschriftungen im Code sichtbar zu machen, können Sie der Tabelle, die Sie in der Excel-Datei erstellen, eine zusätzliche Spalte hinzufügen. In dieser Spalte wird der Name des übergeordneten Frames für jede Bezeichnung gespeichert und während der Schleife ausgefüllt, die die Steuerelemente im UserForm durchläuft.

    Eine Möglichkeit, dies zu tun, wäre, die folgende Zeile vor der Zeile Cells(row_is, 1) = cc.Name hinzuzufügen:

    Zellen(row_is, 7) = cc.Parent.Name

    Dadurch wird der 7. Spalte der Tabelle der Name des übergeordneten Frames des aktuellen Steuerelements (cc) hinzugefügt. Auf diese Weise können Sie sehen, welche Etiketten zu welchem Rahmen gehören.

    Alternativ können Sie der Schleife auch eine Bedingung hinzufügen, in der nur die Beschriftungssteuerelemente aufgezeichnet werden, die sich im Rahmen befinden, und dann den Rahmennamen als Beschriftung hinzufügen.

    Darüber hinaus sollten Sie auch den Fall behandeln, in dem ein Steuerelement keinen übergeordneten Rahmen hat, da sich das Steuerelement möglicherweise direkt auf dem Formular befindet.

    Sie können auch den Fall behandeln, in dem ein Steuerelement keine Beschriftung hat, und stattdessen können Sie eine Bedingung haben, um einen Standardwert zu überprüfen und festzulegen oder ihn leer zu lassen.

    Ich hoffe, das hilft ;-), lassen Sie mich wissen, wenn dies im Widerspruch zu dem steht, was Sie brauchen, ich wäre immer noch hilfreich, um mehr von Ihren Fragen zu beantworten.

    Alles Gute

    Anna

    Geben Sie der Gemeinschaft etwas zurück. Helfen Sie der nächsten Person mit diesem Problem, indem Sie angeben, ob diese Antwort Ihr Problem gelöst hat. Klicken Sie unten auf Ja oder Nein.

    Diese Antwort ist automatisch übersetzt worden. Daher kann sie grammatikalische Fehler oder fremde Ausdrücke enthalten.
  3. JürgenBrändle Win User

    Auslesen von Controls aus UserForm

    Hallo Andreas
    dein Vorschlag geht in die richtige Richtung. Allerdings listet der Vorschlag von Anna bei eine UserForm alle 131 Objekte auf, dein Vorschlag aber nur 36. Es hat 9 Frames, einige werden gar nicht gelistet, bei einigen wird nur ein Teil der Objekte gelistet. Das sieht dann so aus, die grünen Objekte werden gelistet, die anderen nicht. (Einige Frames sind wegen der Farbsetzung nicht direkt ersichtlich)

    [​IMG]

    Woran kann das liegen?
    Gruss
    Jürgen
  4. Andreas Killer Win User

    Auslesen von Controls aus UserForm

    Hallo Jürgen,
    ich denke mal der Code unten ist hilfreich auch ohne Erklärungen!?
    Andreas.
    Sub Test()
    Dim Uf As MSForms.UserForm
    Dim C As MSForms.Control
    Dim Dict As Scripting.Dictionary

    Set Dict = CreateObject("Scripting.Dictionary")
    Set Uf = ThisWorkbook.VBProject.VBComponents("Userform1").Designer
    ListControls Uf.Controls(1).Parent.Name, Uf, Dict
    End Sub

    Sub ListControls(ByVal Path As String, ByRef Container As Object, ByRef Dict As Scripting.Dictionary)
    Dim C As MSForms.Control
    Dim Prop, Props, Result
    Dim i As Integer
    Props = Array("Top", "Left", "Height", "Width")
    Result = Props
    For Each C In Container.Controls
    If TypeOf C Is MSForms.Frame Then
    ListControls Path & "\" & C.Name, C, Dict
    ElseIf Not Dict.Exists(C.Name) Then
    Dict.Add C.Name, C
    i = 0
    For Each Prop In Props
    Result(i) = VBA.CallByName(C, Prop, VbGet)
    i = i + 1
    Next
    Debug.Print Path & "\" & C.Name, Join(Result, " - ")
    End If
    Next
    End Sub
  5. -CHF- Win User

    WD2003 Auf ein Feld in der Multiseiten, mit VBA, springen

    Kannst du bitte mal eine genaue Beschreibung über den genauen Aufbau der USerform liefern?

    Wo ist welches Control?

    Ist mulSeiten ein MultiPage-Control? Was ist regReister02 bzw. regGesetzesdaten?

    Das ist so nicht nachvollziebar...

    Gruß Christian
  6. Andreas Killer Win User

    Diagramm automatisch in einer Excel Userform erstellen?

    Auf der Userform ein Chart? Das geht nicht.

    Erzeuge ein Diagramm in einem Tabellenblatt, füttere das mit Deinen Daten und blende dieses Blatt ggf. ein /aus.

    Wenn Du viel Erfahrung hast, dann kannst Du auf der Userform ein Image-Control plazieren, vom Chart einen Screenshot machen, den in eine temporäre Datei schreiben und diese in das Image lesen.

    Andreas.
  7. User Advert


    Hi,

    willkommen im Windows Forum!
Thema:

Auslesen von Controls aus UserForm - Microsoft Office

Die Seite wird geladen...

Auslesen von Controls aus UserForm - Similar Threads - Auslesen Controls UserForm

Forum Datum

Defekte UserForm

Defekte UserForm: Guten TagEine Exceldatei mit diversen UserForms macht Probleme - so behauptet Excel plötzlich, dass Textfeld x in der UserForm y nicht existiert, obwohl es definiert ist und in der Vergangeheit...
Microsoft Office 19. Januar 2023

Userform

Userform: Hallo, ich nutze Office 365 für Mac.Ich finde den Reiter für die Erstellung einer Userform nicht. Bei mir wird nur Modul und KlassenModul angezeigt.Kann mir jemand weiterhelfen, was ich machen muß...
Microsoft Office 11. April 2022

Referenzen von Steuerelementen in Userforms auslesen

Referenzen von Steuerelementen in Userforms auslesen: HalloFolgendes Problem: Eine grosse Exceldatei mit vielen Tabellen und Userforms. Steuerelement in den diversen Userforms referenzieren Daten in den verschiedenen Tabellen,...
Microsoft Office 25. Mai 2021

VBA Userform

VBA Userform: Guten Tag miteinander ! Im Bewusstsein, dass diese Frage alt ist, stelle ich sie ... wird es in Excel für Mac 2016 ein Update geben, damit dann das VBA User Form wieder zur Verfügung stünde ?...
Microsoft Office 11. April 2018

Produktkey auslesen

Produktkey auslesen: Hallo :-) Ich möchte mein Mac Book pro neu aufsetzen auf dem Office 2011 installiert ist. Die Installationscds habe ich noch, aber den Produktkey nicht mehr. Kann ich irgendwie den Produktkey...
Microsoft Office 5. März 2018

Eye Control - keine Auswahlmöglichkeit für Eye control

Eye Control - keine Auswahlmöglichkeit für Eye control: Hallo, ich nutze Build 16299 und möchte Eye control ausprobieren. Tobii c4 ist angeschlossen, hotfix 2.10.11.6458 ist installiert. Windows Update meldet "keine Updates". Aber unter...
Windows Insider 30. September 2017

Flight Control

Flight Control: Flight Control [IMG] Sorge am Himmel für Sicherheit und übernimm den Befehl in Flight Control, dem packenden Spielehit mit Suchtgarantie! Flight Control ist auf Anhieb erlernbar, lässt dich...
Spiele 5. März 2015
Auslesen von Controls aus UserForm solved
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.