Здравствуйте, у меня есть временная комбинация, встроенная в excel (у меня есть только базовые c знания) под кодом:
Private Sub TempCombo_Change()
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim xCombox As ComboBox
Dim xStr As String
Dim xWs As Worksheet
Set xWs = Application.ActiveSheet
' On Error Resume Next
Set xCombox = Me.TempCombo ' xWs.OLEObjects("ComboBox1")
If HasValidation(Target) Then
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 - 1
.Top = Target.Top - 1
.Width = Target.Width + 5
.Height = Target.Height + 3
If xStr = "Opleiding" Then
xStr = Mid(ThisWorkbook.Names("Opleiding").RefersTo, 2)
End If
.ListFillRange = xStr
.LinkedCell = Target.Address
End With
'Me.ComboBox1.DropDown
End If
End If
End Sub
Function HasValidation(rngD As Range)
Dim intType As Integer
On Error Resume Next
intType = rngD.Validation.Type
HasValidation = (Err = 0)
End Function
возможно, у меня простая проблема заключается в том, что раскрывающийся список остается визуальным также, когда я щелкните где-нибудь в другом месте в файле, конечно, когда щелкнет раскрывающийся список различий. как я могу изменить код, чтобы он не оставался видимым в файле?
введите описание изображения здесь