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. automatische Aktivierung einer Checkbox funktioniert

    in Microsoft Excel Hilfe
    automatische Aktivierung einer Checkbox funktioniert: Hallo zusammen, ich habe folgendes Problem, hoffe eine Lösung. Ich habe leider keine Idee, warum der Fehler nur bei zwei Zeilen auftritt. In einem Arbeitsblatt (eine "intelligente" Checkliste)...
  3. Formatierung Excel mit Kontrollkästchen Export zu PDF

    in Microsoft Excel Hilfe
    Formatierung Excel mit Kontrollkästchen Export zu PDF: Hallo, Ich habe eine Exceldatei, die Checkboxen/Kontrollkästchen beinhaltet. Beim Export zum PDF sind die Kästchen nur ganz klein dargestellt/verzerrt oder die Häkchen sind sehr dezent, sodass...
  4. Zeilen über Kontrollkästchen und abhängig von Zelleninhalt ausblenden

    in Microsoft Excel Hilfe
    Zeilen über Kontrollkästchen und abhängig von Zelleninhalt ausblenden: Hallo, ich habe eine Liste mit 30 Platzhaltern (=Zeilen 11:41) um Nutzer anzulegen. In Zelle C7 wird mir automatisch die Summe der Nutzer angezeigt, wenn die Nutzernamen in die Zeilen eingetragen...
  5. Checkbox und Textbox in UF gegenseitig abhängig

    in Microsoft Excel Hilfe
    Checkbox und Textbox in UF gegenseitig abhängig: Hallo zusammen Mit einer Checkbox1 trage ich in Textbox1 per Klick das Wort "Rückruf" ein oder ich lasse das Feld frei Die Daten in Textbox1 werden aus der Tabelle1 ausgelesen und auch wieder...
  6. CheckBox grau hinterlegen?

    in Microsoft Excel Hilfe
    CheckBox grau hinterlegen?: Hallo zusammen, Gern möchte ich eine Checkbox grau hinterlegen. Also so das nicht nur der Hintergrund grau ist, sondern auch das weiße Feld innerhalb des Kästchens. Leider schaffe ich es bisher...
  7. Alle Checkboxen anwählen und definieren

    in Microsoft Excel Hilfe
    Alle Checkboxen anwählen und definieren: Hallo liebe Leuts, Vielleicht kann mir jemand hier weiterhelfen? Ich habe mehrere Checkboxen in einem Dokument und möchte alle nicht aktiven Checkboxes farblich grau hinterlegen ohne dabei jede...
  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