Здравствуйте. Проблема в следующем. Попробовал изучить пример из ЭТОЙ темы. Вроде получается. Но есть проблема с объединёнными ячейками. В них нет возможности активировать ListBox. Также не получается вводить данные с другого листа. Прошу оказать помощь. Заранее спасибо.
P.S. В файле-примере описание [moder]А почему тема в ветке "Вопросы по Excel", когда это чистый VBA? Перенес.
Здравствуйте. Проблема в следующем. Попробовал изучить пример из ЭТОЙ темы. Вроде получается. Но есть проблема с объединёнными ячейками. В них нет возможности активировать ListBox. Также не получается вводить данные с другого листа. Прошу оказать помощь. Заранее спасибо.
P.S. В файле-примере описание [moder]А почему тема в ветке "Вопросы по Excel", когда это чистый VBA? Перенес.Jester
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Target.MergeCells Then If Target.CountLarge > 1 Then Exit Sub End If Select Case Target.Column Case 4, 4 If Target.Row > 5 Then bu = True With Me.TextBox1 .Top = Target.Top: .Left = Target.Left: .Text = Target(1).Value: .Activate End With
With Me.ListBox1 .Top = Target.Top - 20: .Left = Target.Left + 143: .Clear End With cl = IIf(Target.Column = 4, 4, 4): bu = False Me.TextBox1.Visible = True: Me.ListBox1.Visible = True End If Case Else Me.TextBox1.Visible = False: Me.ListBox1.Visible = False End Select End Sub
[/vba]
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Target.MergeCells Then If Target.CountLarge > 1 Then Exit Sub End If Select Case Target.Column Case 4, 4 If Target.Row > 5 Then bu = True With Me.TextBox1 .Top = Target.Top: .Left = Target.Left: .Text = Target(1).Value: .Activate End With
With Me.ListBox1 .Top = Target.Top - 20: .Left = Target.Left + 143: .Clear End With cl = IIf(Target.Column = 4, 4, 4): bu = False Me.TextBox1.Visible = True: Me.ListBox1.Visible = True End If Case Else Me.TextBox1.Visible = False: Me.ListBox1.Visible = False End Select End Sub