Здравствуйте. Помогите изменить выпадающий список ActiveX Почему-то этот список не работает с другим листом.
Список ActiveX(комбибокс) - находится на Лист2 Данные , которые мне нужны в нем - я пытаюсь взять с "Лист St" Но не получается, макрос игнорирует ссылку на другой лист и продолжает считывать данные с текущего листа.
Как поправить макрос, чтобы данные на другом листе - нормально считывались ?
Вот эта ссылка на другой лист - игнорируется [vba]
Код
With ThisWorkbook.Worksheets("Лист St") Arr1 = Range("G11:G40") Arr2 = Range("A1:A2") End With
[/vba]
Весь код выглядит так: [vba]
Код
Private Sub ComboBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) On Error Resume Next ComboBox1.Height = 20 ComboBox1.Width = 700
Dim Arr1() As Variant Dim Arr2() As Variant Dim ОбьединенныйМассив() As Variant
With ThisWorkbook.Worksheets("Лист St") Arr1 = Range("G11:G40") Arr2 = Range("A1:A2") End With
Здравствуйте. Помогите изменить выпадающий список ActiveX Почему-то этот список не работает с другим листом.
Список ActiveX(комбибокс) - находится на Лист2 Данные , которые мне нужны в нем - я пытаюсь взять с "Лист St" Но не получается, макрос игнорирует ссылку на другой лист и продолжает считывать данные с текущего листа.
Как поправить макрос, чтобы данные на другом листе - нормально считывались ?
Вот эта ссылка на другой лист - игнорируется [vba]
Код
With ThisWorkbook.Worksheets("Лист St") Arr1 = Range("G11:G40") Arr2 = Range("A1:A2") End With
[/vba]
Весь код выглядит так: [vba]
Код
Private Sub ComboBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) On Error Resume Next ComboBox1.Height = 20 ComboBox1.Width = 700
Dim Arr1() As Variant Dim Arr2() As Variant Dim ОбьединенныйМассив() As Variant
With ThisWorkbook.Worksheets("Лист St") Arr1 = Range("G11:G40") Arr2 = Range("A1:A2") End With
Dalm, ActiveX на листе очень капризный инструмент. Лучше создайте форму и вызывайте её с любого листа по событию SelectionChange. Так проще и безопаснее для Вашего проекта.
Dalm, ActiveX на листе очень капризный инструмент. Лучше создайте форму и вызывайте её с любого листа по событию SelectionChange. Так проще и безопаснее для Вашего проекта.VovaK
Всем удачи. У нас все получится. С уважением, Владимир.
Dalm, Оператор With работает для сокращения записи внутри конструкции должно быть продолжение полной записи. У Вас не хватает точек перед Range. Если Вы опускаете точки, то обращаетесь к активному листу.
With ThisWorkbook.Worksheets("Ëèñò St") Arr1 = .Range("G11:G40") Arr2 = .Range("A1:A2") End With
Dalm, Оператор With работает для сокращения записи внутри конструкции должно быть продолжение полной записи. У Вас не хватает точек перед Range. Если Вы опускаете точки, то обращаетесь к активному листу.
With ThisWorkbook.Worksheets("Ëèñò St") Arr1 = .Range("G11:G40") Arr2 = .Range("A1:A2") End WithVovaK
Всем удачи. У нас все получится. С уважением, Владимир.