You are on page 1of 2

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

'Update by Extendoffice: 2017/8/15

Dim xCombox As OLEObject

Dim xStr As String

Dim xWs As Worksheet

Set xWs = Application.ActiveSheet

On Error Resume Next

Set xCombox = xWs.OLEObjects("TempCombo")

With xCombox

.ListFillRange = ""

.LinkedCell = ""

.Visible = False

End With

If Target.Validation.Type = 3 Then

Target.Validation.InCellDropdown = False

Cancel = True

xStr = Target.Validation.Formula1

xStr = Right(xStr, Len(xStr) - 1)

If xStr = "" Then Exit Sub

With xCombox

.Visible = True

.Left = Target.Left

.Top = Target.Top

.Width = Target.Width + 5

.Height = Target.Height + 5

.ListFillRange = xStr

.LinkedCell = Target.Address

End With

xCombox.Activate

Me.TempCombo.DropDown

End If
End Sub

Private Sub TempCombo_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As


Integer)

Select Case KeyCode

Case 9

Application.ActiveCell.Offset(0, 1).Activate

Case 13

Application.ActiveCell.Offset(1, 0).Activate

End Select

End Sub

You might also like