folgenden Code hat mir Rudi Mantaire zur Verfügung erstellt.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rngJahr As Range
Set rngJahr = Intersect(Range("A1"), Target)
If Not rngJahr Is Nothing Then varJahr = Range("A1").Value
ComboBox1.Visible = False
If Target.Count = 1 Then
Select Case Target.Row
Case 43 To 435
If Target.Column > 4 Then
If Cells(36, Target.Column) "" Then
With ComboBox1
.ListFillRange = Cells(Target.Row, 3)
.LinkedCell = Target.Address
.Top = Target.Top
.Left = Target.Left
.Width = 102
.Height = 18
.Visible = True
.Object.MatchRequired = True
End With
cbrng = Target.Address
End If
End If
End Select
End If
End Sub
Er erzeugt mir eine Dropbox in der jeweils ausgewählten Zelle.Dies funktioniert soweit.
Nun möchte ich gerne ergänzen, dass der Wert der Combobox als Zahl in die Zelle eingetragen wird.
Hier für habe ich bereits folgende Lösung gefunden:
Private Sub ComboBox1_Click()
With ComboBox1
If .ListIndex > -1 Then
Range("B1") = Clng(.Text)
End If
End With
End Sub
Hierzu war folgender Hinweis gegeben:Du vergibst keine LinkedCell für die CB und kopierst stattdessen den folgenden Code in das Klassenmodul der entsprechenden Tabelle.
Die Adresse der Ausgabezelle musst du nartürlich anpassen.
Dies habe ich wie folgt versucht:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rngJahr As Range
Set rngJahr = Intersect(Range("A1"), Target)
If Not rngJahr Is Nothing Then varJahr = Range("A1").Value
ComboBox1.Visible = False
If Target.Count = 1 Then
Select Case Target.Row
Case 43 To 435
If Target.Column > 4 Then
If Cells(36, Target.Column) "" Then
With ComboBox1
.ListFillRange = Cells(Target.Row, 3)
'.LinkedCell = Target.Address
.Top = Target.Top
.Left = Target.Left
.Width = 102
.Height = 18
.Visible = True
.Object.MatchRequired = True
End With
cbrng = Target.Address
End If
End If
End Select
End If
End Sub
Sub ComboBox1_Click()
With ComboBox1
If .ListIndex > -1 Then
cbrng = CLng(.Text)
End If
End With
End Sub
Die kursive Zeile wird mir hierbei als Fehler angezeigt.Kann mir das Ganze jemand berichtigen?
Danke im Voraus.