Office: (Office 2016) CheckBox-Zustand aus Matrix übernehmen

Helfe beim Thema CheckBox-Zustand aus Matrix übernehmen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, habe mal wieder ein Thema an dem ich feststecke: Habe in Excel eine "Existenz"-Matrix über 10 Spalten (Produktportfolio) und 81... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Stefan67!, 24. Mai 2020.

  1. CheckBox-Zustand aus Matrix übernehmen


    Hallo zusammen,

    habe mal wieder ein Thema an dem ich feststecke:

    Habe in Excel eine "Existenz"-Matrix über 10 Spalten (Produktportfolio) und 81 Zeilen (Werke). Einige Zellen darin sind mit einem "X" gekennzeichnet, um ein Vorhanden des Produktes im jeweiligen Werk darzustellen.
    In einer Userform wiederum biete ich 10 Checkboxen an, die den Zustand der entsprechenden Zeile als eine Art Vorauswahl darstellen sollen, wenn die Werk-Zeile festgelegt ist.
    Der Name der Checkbox setzt sich unter anderem aus der Spaltennummer zusammen (z.B. PI_FR2_CKB_02 für die 2. Spalte), die in den ersten beiden Stellen der Spaltenüberschrift zu finden ist.

    Hier der Code:


    Dim x As Integer, y As Integer, z As Integer
    Dim CKB As CheckBox, CKBx As String

    For x = 4 To 81 '*************** Anzahl der Werke in der Plant-Matrix
    Plant = Sheets("DB-Infos").Range("O" & x) & " - " & Sheets("DB-Infos").Range("P" & x)
    If PI_FR1_CB01.Value = Plant Then
    For y = 17 To 26
    If Sheets("DB-Infos & field options").Cells(x, y) = "x" Then
    CKBx = "PI_FR2_CKB" & Left(Sheets("DB-Infos").Cells(3, y).Value, 2)
    CKB.Name = CKBx '***hier wird wg. Laufzeitfehler 91-Objektvariable nicht festgelegt - gemeckert
    CKB.Value = True
    End If
    Next y
    End If


    Wer hat hier eine Lösung?

    :)
     
    Stefan67!, 24. Mai 2020
    #1
  2. Hallo,

    du hast zwar mit DIM CKB als Variable deklariert, aber bei Objekt-Variablen, wie vom Fehler angezeigt, muss dann mit Hilfe der SET-Anweisung ein gültiger Verweis zugewiesen werden, ungefähr
    Code:
    .
     
    hubert17, 26. Mai 2020
    #2
  3. Beverly
    Beverly Erfahrener User
    Hi Stefan,

    mal eine Frage - habe ich das richtig verstanden: du hast im UserForm 10 CheckBoxen und willst damit 1 Zeile aus deiner Matrix darstellen, wobei du die Zeilennummer aus einer Zelle ausliest (oder irgendwie anders festlegst)? Wenn ja, dann geht das doch wesentlich einfacher...
     
    Beverly, 26. Mai 2020
    #3
  4. CheckBox-Zustand aus Matrix übernehmen

    Besten Dank erstmal, aber die SET-Lösung bring mir eine andere Fehlermeldung: Laufzeitfehler 424 - Objekt erforderlich (die Deklaration hatte ich deaktiviert, da dies mir sonst einen Kompilierungsfehler brachte (Falsche Anzahl an Argumenten oder ungültige Zuweisung einer Eigenschaft).

    Zum Verständnis von Beverly:
    Die Idee ist folgende: Über Excel wurde eine Matrix nach aktuellen Vorgaben erstellt,in der für jedes Produktionswerk ein Marker für die entsprechend gefertigten Produkte gesetzt wird. In der Userform sind alle Produkte als Checkboxen aufgeführt.
    Der Bediener wählt nun das Werk über eine Combobox aus und die relevanten Produkte sind aktivierte Checkboxen voreingestellt (sollte zumindest so sein). Da sich die Matrix aber im Laufe der Zeit ändern kann und eine direkte Bearbeitung der Excelmatrix vermieden werden soll, hat der Bediener so die Möglichkeit, die Selektionen bei der Verwendung der Userform zu verändern (eine evtl. Korrektur der Matrix erfolgt dann ggf. im Hintergrund als Nebenprodukt).
    Bin offen für Alternativvorschläge.
     
    Stefan67!, 26. Mai 2020
    #4
  5. Beverly
    Beverly Erfahrener User
    Hi Stefan,

    du hast meine Frage nicht eindeutig beantwortet, ob es nur 10 CheckBoxen sind und diese 1 Zeile (1 Produkt) repräsentieren, so dass immer nur 1 Zeile (Produkt) bearbeitet wird - ich gehe aber mal davon aus dass dies so ist und nicht 10x81 Checkboxen auf dem UserForm vorhanden sind...

    Trage in die Tag-Eigenschaft jeder der 10 CheckBoxen den Spaltenbuchstaben ein den sie repräsentiert - dann kannst du mit folgendem einfachen Code bei Auswahl eines Werkes in der ComboBox die CheckBoxen entsprechend Eintrag eines X in der relevanten Zeile und Spalte aktivieren:

    Code:
    Die Suche des Werkes erfolgt bei mir in Spalte A - musst du entsprechend anpassen.
     
    Beverly, 26. Mai 2020
    #5
  6. Hallo Beverly,

    das ist exakt, wonach ich gesucht habe - besten Dank.

    Stefan
     
    Stefan67!, 26. Mai 2020
    #6
  7. Ich muss mich leider korrigieren: Du hast den Range für die Combobox mit A2:A10 festgelegt, bei mir ist dieser variabel - die Anpassung klappt also nicht so ganz (es werden keine Häkchen gesetzt).

    Ich habe 4 Kontinente - jeder mit einer unterschiedlichen Anzahl an Werken, die jeweils einige der gelisteten Produkte herstellen.

    Um also in dem Combobox-Dropdown nicht bis zu 80 Werke aufzulisten, reduziere ich die Anzahl durch eine Vorselektion des Kontinentes.
     
    Stefan67!, 26. Mai 2020
    #7
  8. Beverly
    Beverly Erfahrener User

    CheckBox-Zustand aus Matrix übernehmen

    Das kommt davon, wenn man als Fragesteller keine Beispielmappe bereitstellt - ich hatte doch geschrieben, dass du das entsprechend anpassen musst, schließlich kenne ich deinen Tabellenaufbau nicht. Lade also entweder eine Beispielappe hoch oder passe es selbst an - ich kann dir andernfalls nur das Prinzip erklären. Die Tag-Eigenschaft könnte man z.B. nicht fix eintragen sondern bei Auswahl des Kontinents.
     
    Beverly, 26. Mai 2020
    #8
  9. Hallo Karin,

    anbei mal eine Darstellung meines Aufbaus (sollte jedenfalls als jpg im Anhang sein...). Das Problem liegt m.E. aber in der IF-Abfrage, da rngZeile immer auf Nothing steht und ich finde partout den Fehler nicht - auch nicht, wenn ich Columns (17) angebe.

    Stefan
     
    Stefan67!, 26. Mai 2020
    #9
  10. Hallo Stefan,

    das Problem ist nicht die If-Abfrage sondern die Suchfunktion 'Find' selbst.
    Hast Du Dir mal die Excel-Online-Hilfe dazu durchgelesen? h i e r
    In den Bemerkungen findest Du diese Info:
    Es fehlen also 3 Pflicht-Parameter, bei mir werden immer ALLE Parameter angegeben und wenn trotzdem nur 'Nothing' rauskomt, obwohl vorhanden, dann schmeiße ich erst mal den Excel-Dialog 'Suchen' an und zeichne dabei die Aktionen per Makro auf und vergleiche dann.
    - statt Find(PI_FR1_CB, .. steht bei mir
    - Find(Me.PI_FR1_CB.Value,

    Du Überrgibst ein Objekt und der Vba-Debugger muß sich dann die Standard-Eigenschaft dazudenken und beim Kontrollesen ist das auch nicht besonders hilfreich.

    Gruß von Luschi
    aus klein-Paris
     
    Luschi, 26. Mai 2020
    #10
  11. Beverly
    Beverly Erfahrener User
    Hi Stefan,

    der Code sucht in Spalte A (1) und nicht im Bereich A2:A10 nach dem Werk - deine Daten stehen jedoch in Spalte O wenn du nach dem Werksnamen oder in P wenn du nach der Werks-ID suchst - folglich kann bei dir auch nichts gefunden werden... Genau DAS musst du bei dir anpassen.
     
    Beverly, 26. Mai 2020
    #11
  12. Habe jetzt beide Kommentare beherzigt (Columns (17) für Spalte Q und Me....value) umgesetzt, trotzdem erfolglos:

    Dim rngZeile As Range
    Dim chkBox As Control

    Frame2.Visible = True

    MsgBox PI_FR1_CB01

    Set rngZeile = Sheets("DB-Infos & field options").Columns(17).Find(Me.PI_FR1_CB01.Value, lookat:=xlWhole)
    If Not rngZeile Is Nothing Then
    For Each chkBox In Me.Controls
    If chkBox.Tag "" Then
    chkBox = Cells(rngZeile.Row, chkBox.Tag) = "x"
    End If
    Next chkBox
    End If
    End Sub

    Denke auch nicht, dass es das Me...value ausmacht, da die Test-MsgBox mir ja die korrekte Plant-ID anzeigt, nach der ich aber anscheinen erfolglos in Spalte Q suche.

    … noch einen Tipp?
     
    Stefan67!, 27. Mai 2020
    #12
  13. Beverly
    Beverly Erfahrener User

    CheckBox-Zustand aus Matrix übernehmen

    Du hast die Spaltenbuchstaben gar nicht oder falsch in die CheckBoxen-Tags eingetragen.
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    Beverly, 27. Mai 2020
    #13
  14. Also das mit der Tag-Einstellung für jede Checkbox hatte ich echt nicht auf dem Schirm, aber das war es nicht.
    Habe die Ursache jetzt gefunden, weiss aber aktuell nicht unbedingt, wie ich das jetzt lösen soll:

    Die Daten in Spalte Q (Column 17) werden durch eine Formel erzeugt. Nehme ich das Ergebnis als Textwert statt der Formel, klappt es.
    Ich benötige aber die ID, die sich für Zeile 4 z.B. so darstellt: =O4&" - " &P4.
    Wie löse ich nun dieses Problem?
     
    Stefan67!, 27. Mai 2020
    #14
  15. Beverly
    Beverly Erfahrener User
    Benutze eine Hilfsspalte, in der du die Daten zusammenführst. In dieser Spalte suchst du dann mittels Find. Allerdings musst du beachten, dass du dann noch den Parameter für die Suche in Werten (Formelergebnissen) ergänzen musst - also so

    Code:
     
    Beverly, 27. Mai 2020
    #15
Thema:

CheckBox-Zustand aus Matrix übernehmen

Die Seite wird geladen...
  1. CheckBox-Zustand aus Matrix übernehmen - Similar Threads - CheckBox Zustand Matrix

  2. Ausblenden von Inhalten per Checkbox / wiederholen von Inhalten

    in Microsoft Word Hilfe
    Ausblenden von Inhalten per Checkbox / wiederholen von Inhalten: Hallo! Ich bin neu in der Community und hoffe auf Eure Unterstützung! Für meine Kollegen entwickle ich derzeit ein Formular, welches diverse Inhaltssteuerungselemente zum Ausfüllen enthält....
  3. Zeile kopieren nach Checkbox aktivierung

    in Microsoft Excel Hilfe
    Zeile kopieren nach Checkbox aktivierung: Hallo zusammen, ich bin totaler Neuling aber ich versuche gerade für die Arbeit ein Schichtprotokoll zu erstellen. Ansich ist es fertig. Aber ich habe in spalte J die Angabe das die Aufgabe noch...
  4. VBA / Leerzeile mit Checkbox löschen

    in Microsoft Excel Hilfe
    VBA / Leerzeile mit Checkbox löschen: Hallo Möchte gerne in einer Excel-Datei Leerzeilen, welche eine aktiviert Checkbox enthalten per VBA löschen. (Checkbox in der zu löschenden Zeile, sowie allfällig andere, deaktivierte Checkboxen...
  5. Checkbox Farbe ändern

    in Microsoft Excel Hilfe
    Checkbox Farbe ändern: Hi, ich knabbere gerade an folgendem Problem: Egal, ob ich ein Formularsteuerelement oder ein Active X Steuerelement einfüge, das Kästchen ist immer schwarz. Wie bekomme ich ein blaues Kästchen,...
  6. Frage zu CheckBox - TripleState =True

    in Microsoft Excel Hilfe
    Frage zu CheckBox - TripleState =True: Hallo zusammen, ich arbeite an einer kleinen Tabelle und bin beim Erstellen einer UserForm über CheckBoxen gestolpert. In den Eigenschaften gibt es den Triple State, den ich gerne nutzen würde....
  7. Zeilen ein/ausblenden mit Checkbox

    in Microsoft Excel Hilfe
    Zeilen ein/ausblenden mit Checkbox: Guten Tag, in einem Excel sollen je nach aktivierter Checkbox die Zeilen mit bestimmten Inhalten ein- bzw. ausgeblendet werden. Die Abkürzungen stehen für Niederlassungen / Bereiche. Für alle...
  8. Problem mit Checkboxen in Textfeldern im geschützten Zustand

    in Microsoft Word Hilfe
    Problem mit Checkboxen in Textfeldern im geschützten Zustand: Hallo, ich habe ein Formular erstellt, welches mehrere Textfelder enthält, in denen sich Checkboxen befinden. Diese lassen sich auch wunderbar bedienen, aber nur solange, bis ich das Dokument...
  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