Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Массив из элементов управления - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Массив из элементов управления
Dmitry_P Дата: Среда, 08.01.2014, 16:57 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Добрый день!

Есть вот такой макрос, создающий элемент управления "Поле со списком".

[vba]
Код
ActiveSheet.DropDowns.Add(146.25, 60, 42, 15.75).Select
With Selection
.ListFillRange = "$A$1:$A$5"
.LinkedCell = "$E$5"
.DropDownLines = 8
.Display3DShading = False
End With
[/vba]

Как его изменить, чтобы создался массив из таких "Полей со списком", в котором менялась бы величина 60 с равным шагом 45 и ячейка $E$5 с шагом в 3 ячейки вниз, т.е. для 2го "Поля" эти значения были бы 105 и $E$8
Допустим, нужен массив из 100 таких "Полей со списком".


Сообщение отредактировал Serge_007 - Среда, 08.01.2014, 17:57
 
Ответить
СообщениеДобрый день!

Есть вот такой макрос, создающий элемент управления "Поле со списком".

[vba]
Код
ActiveSheet.DropDowns.Add(146.25, 60, 42, 15.75).Select
With Selection
.ListFillRange = "$A$1:$A$5"
.LinkedCell = "$E$5"
.DropDownLines = 8
.Display3DShading = False
End With
[/vba]

Как его изменить, чтобы создался массив из таких "Полей со списком", в котором менялась бы величина 60 с равным шагом 45 и ячейка $E$5 с шагом в 3 ячейки вниз, т.е. для 2го "Поля" эти значения были бы 105 и $E$8
Допустим, нужен массив из 100 таких "Полей со списком".

Автор - Dmitry_P
Дата добавления - 08.01.2014 в 16:57
nilem Дата: Среда, 08.01.2014, 18:20 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Здрасьте
ну как-то так, что ли
[vba]
Код
Dim i&: Application.ScreenUpdating = False
With ActiveSheet
      For i = 1 To 100
          With .DropDowns.Add(146.25, 60 + 45 * (i - 1), 42, 15.75)
              .ListFillRange = "$A$1:$A$5" '???
              .LinkedCell = Range("E3")(3 * i, 1).Address
          End With
      Next i
End With
Application.ScreenUpdating = True
[/vba]


Яндекс.Деньги 4100159601573

Сообщение отредактировал nilem - Среда, 08.01.2014, 18:22
 
Ответить
СообщениеЗдрасьте
ну как-то так, что ли
[vba]
Код
Dim i&: Application.ScreenUpdating = False
With ActiveSheet
      For i = 1 To 100
          With .DropDowns.Add(146.25, 60 + 45 * (i - 1), 42, 15.75)
              .ListFillRange = "$A$1:$A$5" '???
              .LinkedCell = Range("E3")(3 * i, 1).Address
          End With
      Next i
End With
Application.ScreenUpdating = True
[/vba]

Автор - nilem
Дата добавления - 08.01.2014 в 18:20
Dmitry_P Дата: Среда, 08.01.2014, 21:34 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
nilem, спасибо!
 
Ответить
Сообщениеnilem, спасибо!

Автор - Dmitry_P
Дата добавления - 08.01.2014 в 21:34
Пытающийся Дата: Понедельник, 07.04.2014, 21:04 | Сообщение № 4
Группа: Гости
Добрый вечер!
Помогите, пожалуйста! Смысл вышеописанного кода поняла. Но видимо где-то ошибаюсь в оформлении. Как это творение для СomboBox Записать?
Мне нужно, чтобы при выборе из его списка какого-то значения, оно заносилось в первую свободную ячейку столбца. и так по порядку
 
Ответить
СообщениеДобрый вечер!
Помогите, пожалуйста! Смысл вышеописанного кода поняла. Но видимо где-то ошибаюсь в оформлении. Как это творение для СomboBox Записать?
Мне нужно, чтобы при выборе из его списка какого-то значения, оно заносилось в первую свободную ячейку столбца. и так по порядку

Автор - Пытающийся
Дата добавления - 07.04.2014 в 21:04
RAN Дата: Понедельник, 07.04.2014, 21:11 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Цитата Пытающийся, 07.04.2014 в 21:04, в сообщении № 4
Смысл вышеописанного кода поняла.

А зачем тогда пытаться его применить для прямо противоположной задачи?


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Цитата Пытающийся, 07.04.2014 в 21:04, в сообщении № 4
Смысл вышеописанного кода поняла.

А зачем тогда пытаться его применить для прямо противоположной задачи?

Автор - RAN
Дата добавления - 07.04.2014 в 21:11
Пытающийся Дата: Вторник, 08.04.2014, 07:31 | Сообщение № 6
Группа: Гости
Да действительно. меня вот эта часть заинтересовала

LinkedCell = Range("E3")(3 * i, 1).Address

Ну может быть вы знаете, как должен выглядеть макрос для записи значения в первую свободную ячейку?
[moder]
Цитата
может быть вы знаете

А шо, таки есть сомнения?
Для начала с Вас прочтение Правил форума, создание своей отдельной темы и пример в Excel.
 
Ответить
СообщениеДа действительно. меня вот эта часть заинтересовала

LinkedCell = Range("E3")(3 * i, 1).Address

Ну может быть вы знаете, как должен выглядеть макрос для записи значения в первую свободную ячейку?
[moder]
Цитата
может быть вы знаете

А шо, таки есть сомнения?
Для начала с Вас прочтение Правил форума, создание своей отдельной темы и пример в Excel.

Автор - Пытающийся
Дата добавления - 08.04.2014 в 07:31
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!