Ich verwende den am 4./27/14 vom L42 erstellten VB-Code, der eine Checkbox-Liste in einer einzelnen Zelle erstellt.Erstellen einer Mehrfachauswahl-Kontrollkästchenliste nebeneinander in einer Zelle in Excel
Option Explicit
Dim fillRng As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim LBColors As MSForms.ListBox
Dim LBobj As OLEObject
Dim i As Long
Set LBobj=Me.OLEObjects("LB_Colors")
Set LBColors = Target
If Not Intersect(Target, [B2]) Is Nothing Then
Set fillRng = Target
With LBobj
.Left = fillRng.Left
.Top = fillRng.Top
.Width = fillRng.Width
.Visible = True
End With
Else
LBobj.Visible = False
If Not fillRng Is Nothing Then
fillRng.ClearContents
With LBColors
If .ListCount <> 0 Then
For i = 0 To .ListCount -1
If fillRng.Value = Then
If .Selected(i) Then fillRng.Value = .List(i)
Else
If .Selected(i) Then fillRng.Value = _
fillRng.Value & "," & .List(i)
End If
Next
End With
Set fillRng = Nothing
End If
End If
End Sub
Der Code funktioniert perfekt und ich konnte das Kontrollkästchen Liste zu den Zellen in vollständiger Spalte erweitern, indem die Veränderung (Target, [B1: B40]). Dieser Logik folgend, dachte ich, dass ich die Kontrollkästchen C und D um (Target, [B1: D40] erweitern könnte. Nach Auswahl der gewünschten Elemente in der Spalte B und Anklicken oder Tabulieren in die Spalte C wird das gesamte Kontrollkästchen mit den ausgewählten Elementen verschoben ohne in die vorherige Zelle zu schreiben Ich möchte in der Lage sein, über die nächste Zelle in der Zeile zu springen oder zu klicken und die gleichen Checkbox-Elemente zu haben, die diese Zelle mit dem ausgewählten Element füllen, unabhängig von der vorherigen Zelle Zellen und das gleiche tun und haben Zellen behalten und die Anzeige der Elemente ausgewählt. dieser Code kann geändert werden, das zu tun?
Danke.
[link] (http://stackoverflow.com/users/5461205/dirk-reichel) _italic _ ** fett ** 'Mehrfachauswahl Kontrollkästchen in nebeneinander liegenden Zellen' Dirk Reichel, ausgezeichnet! !! Vielen Dank. Der von Ihnen angegebene Code funktioniert genau so, wie ich es beschrieben und angefordert habe. Wenn ich jedoch zu der nächsten Zelle übergebe, obwohl die Auswahlen aus der vorherigen Zelle angezeigt werden, werden die Checkbox-Auswahl nicht gelöscht und in die nächste Zelle übertragen. Gibt es eine Möglichkeit, das Kontrollkästchen zu deaktivieren, während es sich von Zelle zu Zelle bewegt? Nochmals vielen Dank für Ihr Wissen. Es wird sehr geschätzt! Gerald Davis –
In diesem Fall müssen Sie sie erneut initialisieren, indem Sie 'unload' statt' hide' verwenden. Oder deaktivieren Sie die Option innerhalb der Schleife. Dieses Verhalten sollte auch in Ihrem alten Code enthalten sein. –