Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2018, 05:09   #1
Новичок_2018
Новичок
Джуниор
 
Регистрация: 04.02.2018
Сообщений: 3
По умолчанию заполнение данных по нажатию кнопки

В столбце А есть данные. Необходимо выводить в ячейку С1 последовательно каждое значение из столбца А по нажатию кнопки. Т.е. должно получиться так: нажимаем кнопку, в ячейку С1 вывелось 25601151. Далее снова нажимаем кнопку, в ячейке С1 должно поменяться значение на 25601000, далее на 25601405 и т.д. при каждом следующем клике по кнопке.
Подскажите, как это реализовать с помощью макроса?
A
25601151
25601000
25601405
25601410
25601415
25601418
25601425
25601435
25602155
Новичок_2018 вне форума Ответить с цитированием
Старый 05.02.2018, 06:59   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Вы не указали, что делать, когда значения в столбце "A" закончатся.
Если требуется, чтобы после последнего значения вновь отображалось 1-е, то можно, например, так:
Код:
Private Sub CommandButton1_Click()
    Static i As Long
    [C1] = Cells(i + 1, 1)
    i = IIf(i = Cells(Rows.Count, 1).End(xlUp).Row - 1, 0, i + 1)
End Sub
Пример во вложении.
Вложения
Тип файла: xls Пример.xls (30.0 Кб, 26 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 05.02.2018, 07:11   #3
Новичок_2018
Новичок
Джуниор
 
Регистрация: 04.02.2018
Сообщений: 3
По умолчанию

Спасибо!
Подскажите, а с помощью цикла for to можно сделать тоже самое?
Новичок_2018 вне форума Ответить с цитированием
Старый 05.02.2018, 07:25   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

А что перебирать в цикле? Можно пробовать искать уже существующее в ячейке "C1" значение и менять его на следующее из столбца "A" (и то, в таком случае, лучше использовать не цикл, а Find). Но, во-первых, мы не знаем, что в "C1" исходно (возможно, что в столбце "A" вообще нет такого), во-вторых, если в столбце "A" значения будут изменяться, то макрос "запутается".
В предложенном выше варианте переменная i инкременируется и запоминается (т. к. имеет тип Static) после каждого выполнения процедуры, что вполне достаточно.
Что не устраивает?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Внесение данных в последний активный Edit по нажатию кнопки ? student-ua Общие вопросы Delphi 4 15.06.2017 23:33
Передача данных по нажатию кнопки (сессии) Aleks_006 PHP 8 01.06.2015 15:01
Заполнение списка по нажатию кнопки duh_si Microsoft Office Access 47 18.06.2013 18:22
FormCloseQuery по нажатию кнопки bulldog5293 Общие вопросы Delphi 3 17.10.2011 15:37
Копирование данных из поля в буфер обмена по нажатию кнопки? iliana Microsoft Office Access 7 30.12.2010 11:38