Office: Userform

Helfe beim Thema Userform in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich habe mir eine Userform mit mehreren CommandButtons erstellt, welche beim Klick auf den Button ihre Farbe ändern. (Beispiel 1... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von torben789, 15. Februar 2020.

  1. Userform


    Hallo zusammen,

    ich habe mir eine Userform mit mehreren CommandButtons erstellt, welche beim Klick auf den Button ihre Farbe ändern. (Beispiel 1 Button)

    Code:

    Private Sub CommandButton1_Click()

    Dim variable As String
    variable = "CommandButton1"



    If Me.Controls(variable).BackColor = &H8000000F Then

    Me.Controls(variable).BackColor = vbRed

    Else

    If Me.Controls(variable).BackColor = vbRed Then

    Me.Controls(variable).BackColor = RGB(162, 0, 0)

    Else

    If Me.Controls(variable).BackColor = RGB(162, 0, 0) Then

    Me.Controls(variable).BackColor = vbGreen

    Else

    If Me.Controls(variable).BackColor = vbGreen Then

    Me.Controls(variable).BackColor = vbYellow

    Else

    Me.Controls(variable).BackColor = &H8000000F

    End If

    End If

    End If
    End If

    End Sub

    Das Speichern der Farbe habe ich aktuell über folgenden Code realisiert: (Beispiel 1 Button)

    Private Function ExistCDP(PropName As String) As Boolean

    Dim oDP As DocumentProperty
    For Each oDP In ThisWorkbook.CustomDocumentProperties
    If oDP.Name = PropName Then
    ExistCDP = True
    Exit For
    End If
    Next oDP
    End Function

    Private Sub Cmd_schliessen_Click_Click()
    With ThisWorkbook.CustomDocumentProperties
    If ExistCDP("Farbe1") Then
    .Item("Farbe1").Value = CStr(CommandButton1.BackColor)

    Else
    ThisWorkbook.CustomDocumentProperties.Add "Farbe1", False, 4, CStr(CommandButton1.BackColor)


    End If
    End With
    End Sub

    Private Sub UserForm_Initialize()
    If ExistCDP("Farbe1") Then
    CommandButton1.BackColor = ThisWorkbook.CustomDocumentProperties.Item("Farbe1")
    End If
    End Sub


    Der Code Funktioniert soweit eiwandfrei, einziges Problem ist, dass ich meine Userform mehrmals benötige. Wenn ich diese nun, durch ziehen in eine 2te lehre Excel Datei mit Umbenennung dupliziere, habe ich das Problem dass die duplizierte Userform die selben Informationen speichert wie die erste Userfom und umgekehrt.

    Habe nun Versucht das ganze durch eine Ini-Datei zu programmieren, da ich leider aber kompletter Neuling bin, hat das bisher nicht funktioniert.
    Gibt es hier eventuell noch eine 3te bessere/einfachere Lösung oder könnte mir einer auf die Sprünge helfen?

    Vielen Dank für eure Zeit!

    Viele Grüße Torben

    :)
     
    torben789, 15. Februar 2020
    #1
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    Hallo Torben,

    Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue. Ich baue keine Datei nach.

    Sollte die Datei verlinkt werden?

    Der Name einer hochgeladenen Mappe wird im Beitrag automatisch angezeigt, sodass es bei Verwendung von aussagekräftigen Namen leichter fällt, sie später im Ablageordner wiederzufinden und sie gedanklich einem bestimmten Thema zuzuordnen. Namen wie Muster*, Test*, Mappe*, Beispiel*, Fehler*, Kalender*, UserForm* usw. sind so allgemein, dass eine Zuordnung zu einem Thema unmöglich gemacht wird.
    Es sollte ein aussagekräftiger Name sein.

    Das ist nur meine Meinung zu dem Thema.

    Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
    http://www.ms-office-forum.de/forum/...d.php?t=322895
    änderrn.

    Das ist nur meine Meinung zu dem Thema.

    Bitte berücksichtige das Themen die Erledigt sind als Erledigt markiert werden können. Also mache es unten links mit Klick auf den Schalter "als erledigt setzen", falls Problem gelöst.
    Der Zustand des Beitrages wird dann in der Übersicht angezeigt und man braucht sich diese Beiträge nicht mehr ansehen.





    Meine Homepage Homeseite - Hajo's Excelseiten
     
    Hajo_Zi, 17. Februar 2020
    #2
  3. Hallo Torben,
    Hajo schreibt "Das ist nur meine Meinung zu dem Thema." - Nein, das ist auch meine Meinung. Bitte mach es den Leuten die Dir helfen wollen nicht so schwer. Kompilier den Kode mit Option explicit, schreib etwas Kommentar und lad die Datei hoch, dann wird Dir sicher geholfen.
    Gruss, Wilhelm
     
    Wilhelm1, 17. Februar 2020
    #3
  4. Userform

    Hallo zusammen,

    tut mir leid, dass das alles so unkoordiniert ist.
    Ist mein erster Beitrag im Forum darum bitte ich um Entschuldigung.

    Im Anhang befindet sich nun meine Datei mit dem Code wie er für eine Userform funktioniert, aber leider nicht für die Zweite, da dort die Farben sich der ersten Userform anpassen.

    Vielen Dank für euer Verständnis und ich hoffe, dass ihr nun mit der Datei etwas anfangen könnt.

    Viele Grüße Torben
     
    torben789, 17. Februar 2020
    #4
  5. Hallo,

    ich habe überhaupt keine Ahnung, was das werden soll ... ist aber auch egal.

    Es reicht doch, wenn du einen UDEnum erstellst ...

    Public Enum Farbe
    vbWhite = 1
    vbYellow = 2
    vbRed = 3
    vbGreen = 4
    vbBlue = 5
    End Enum

    Dann kannst du über eine Schleife ein einfaches String-Array erstellen.

    Code:
    Da kannst ganz einfach den Wert für jeden Button auslesen und dem Userform.Name zuordnen.

    Um die Farben zu wechseln, übergibst du die Farben des Button, an dessen Tag-Eigenschaft. dann brauchst du nur .Tag = .Tag + 1 zu schreiben und weißt über die Farben-Aufzählung sofort, welche Farbe gemeint ist.

    Sabina
     
    Flotter Feger, 17. Februar 2020
    #5
  6. Hört sich ja relativ "simple" an, da ich mich leider nicht so gut mit dem erstellen von String-Arrays auskenne muss ich mir dort zunächst ein Einführungsvideo anschauen.

    Ich melde mich wieder falls ich es nicht hinbekommen sollte.

    Danke

    Viele Grüße Torben
     
    torben789, 18. Februar 2020
    #6
  7. Da kannst ganz einfach den Wert für jeden Button auslesen und dem Userform.Name zuordnen.

    Um die Farben zu wechseln, übergibst du die Farben des Button, an dessen Tag-Eigenschaft. dann brauchst du nur .Tag = .Tag + 1 zu schreiben und weißt über die Farben-Aufzählung sofort, welche Farbe gemeint ist.

    Sabina

    Hallo Sabina,

    bei mir will das irgendwie nicht so richtig klappen.
    Kannst du mir auf die Sprünge helfen was es mit dem Enum und der .Tag Eigenschaft genau auf sich hat?

    Viele Grüße Torben
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    torben789, 19. Februar 2020
    #7
Thema:

Userform

Die Seite wird geladen...
  1. Userform - Similar Threads - Userform

  2. Userform Login Benutzername in Zelle schreiben

    in Microsoft Excel Hilfe
    Userform Login Benutzername in Zelle schreiben: Hallo mal wieder ins Forum, ich habe mir nach einem Video ein Login nachgebaut. Das funktioniert auch einwandfrei. Hier der Code: Private Sub bttnAnmelden_MouseDown(ByVal Button As Integer, ByVal...
  3. Datum in Userform formatieren

    in Microsoft Word Hilfe
    Datum in Userform formatieren: Hallo! Ich habe folgende Herausforderung: Word 365. In einer Userform gibt es zwei Textboxen (TB_Datum und TB_Datum für Termin) In die Textbox TB_Datum soll ein Datum eingetragen werden können....
  4. UserForm zum bearbeiten von Tabellen und speichern

    in Microsoft Excel Hilfe
    UserForm zum bearbeiten von Tabellen und speichern: Guten Tag Ich habe leider ein Problem, das mich zur Verzweiflung bringt. Vielleicht findet hier jemand einen Lösung für mein Problem. Ich bekommen leider einen Laufzeitfehler '1004'. Zur...
  5. VBA Code Tabellenblatt kopieren und UserForm

    in Microsoft Excel Hilfe
    VBA Code Tabellenblatt kopieren und UserForm: Hallo, ich hoffe mir kann jemand helfen. Schon mal vielen Dank für die Unterstützung. Folgende Thematik: In dem Blatt 1 ist ein ComandButton. Mit Klick soll über VBA folgendes abgefragt...
  6. UserForm wechseln

    in Microsoft Excel Hilfe
    UserForm wechseln: Hallo Vorweg der Hinweis, dass ich ein VBA-Programm habe, welches von einem anderen erstellt wurde der mir nicht mehr zur Verfügung steht. Habe Erweiterungen bisher mühsam durch Zusammentragen von...
  7. Daten aus UserForm in Tabellenblatt übertragen

    in Microsoft Excel Hilfe
    Daten aus UserForm in Tabellenblatt übertragen: Hallo zusammen, wieder eine Anfängerfrage. Ich habe eine Userform, deren Daten über einen CommandButton zum Teil in zwei Tabellenblätter übertragen werden. Wie kann ich es verhindern, dass dabei...
  8. userform schliessen, Inhalt soll erhalten bleiben

    in Microsoft Excel Hilfe
    userform schliessen, Inhalt soll erhalten bleiben: Guten Morgen, ich hoffe ich kann das verständlich erklären. Ich habe zwei Userformen. Zuerst ist nur Userform1 geöffnet. Über einen CommandButton in UF1 wird dann Userform2 geöffnet. Über einen...
  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.
    Information ausblenden