Combobox VBA

Betrifft: Combobox VBA
von: Kev
Geschrieben am: 18.10.2020 09:33:10
Hallo bräuchte Hilfe bei einer Combobox.
Das Excel holt sich beim Start ins Blatt Artikel alle Nr und Artikelbez
Nun möchte ich dass man mithilfe der Combobox nach Artikeln suchen und diese ab C32-46 Eintragen kann.
In B32 soll dann die dazugehörige Artikelnr auftauchen.
Mein Code funktioniert schon..
Jedoch muss ich immer erst in die Zelle darunter und wieder in die gewünschte Zelle klicken damit die Nr erscheint..
Mein Beispiel
https://www.herber.de/bbs/user/140943.xlsm
---------------------------CODE-----------------------------
Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim MyRange As Range
Set MyRange = Range("C32:C46")
If Not Intersect(Target, MyRange) Is Nothing Then ComboBox1.Visible = True
ComboBox1.LinkedCell = Target.Address
On Error Resume Next
If Not Intersect(Target, MyRange) Is Nothing Then Target.Offset(0, -1).Value = ComboBox1.Column( _
_
1)
On Error Resume Next
End Sub
------------------------- CODE ENDE ---------------------------
Danke für die Hilfe!

Betrifft: AW: Combobox VBA
von: Daniel
Geschrieben am: 18.10.2020 10:44:38
HI
du kannst nicht alles mit einem einzigen Event abdecken.
das Eintragen des zweiten Wertes gehört sinnvollerweise ins CLICK-Event der Combobox:
Private Sub ComboBox1_Click()
If ActiveCell.Row >= 32 And ActiveCell.Row <= 46 Then
Cells(ActiveCell.Row, 2) = ComboBox1.List(ComboBox1.ListIndex, 1)
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Row >= 32 And ActiveCell.Row <= 46 Then
ComboBox1.LinkedCell = Cells(ActiveCell.Row, 3).Address
Else
ComboBox1.LinkedCell = ""
ComboBox1.Value = ""
End If
End Sub
Gruß Daniel

Betrifft: AW: Combobox VBA
von: Kev
Geschrieben am: 18.10.2020 11:04:13
Hallo Daniel auch dir Danke für die Hilfe
dein Code funktioniert auch musste nur den bereich abändern .
Nur wenn man in Spalte C32-46 steht soll die Box erscheinen
Schönen Tag noch :)

Betrifft: AW: Combobox VBA
von: Daniel
Geschrieben am: 18.10.2020 11:09:16
nun, das sind Kleinigkeiten, die du ja selber schon programmieren kannst.
das muss ich ja nicht für dich tun.
wenn du schon die Combobox nur bei diesen Zellen einblendest, dann verschiebe sie doch auch gleich auf die Postition der aktiven Zelle, damit auch weiß, wo man eingibt.
Gruß Daniel

Betrifft: AW: Combobox VBA
von: Nepumuk
Geschrieben am: 18.10.2020 10:51:26
Hallo Kev,
teste mal:
Option Explicit
Private Sub ComboBox1_Change()
If ComboBox1.ListIndex > -1 Then
If Not Intersect(ActiveCell, Range("C32:C46")) Is Nothing Then
ActiveCell.Value = ComboBox1.Column(0)
ActiveCell.Offset(0, -1).Value = ComboBox1.Column(1)
End If
End If
End Sub
Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("C32:C46")) Is Nothing Then
ComboBox1.Visible = True
Else
ComboBox1.Visible = False
End If
ComboBox1.ListIndex = -1
End Sub
Gruß
Nepumuk

Betrifft: AW: Combobox VBA
von: Kev
Geschrieben am: 18.10.2020 11:01:28
Hallo Nepumuk ,
Eingefügt und läuft *GANZ GENAU* so wie ich mir das vorgestellt habe !
Danke vielmals für deine Hilfe !
Beiträge aus dem Excel-Forum zum Thema "Combobox VBA"