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

Вход

Регистрация

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

 

= Мир MS Excel/Пронумеровать ячейки диапазона - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин  
Мир MS Excel » Работа и общение » Мозговой штурм » Пронумеровать ячейки диапазона (макросом в окне Immediate)
Пронумеровать ячейки диапазона
Gustav Дата: Воскресенье, 27.01.2013, 14:58 | Сообщение № 1
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2759
Репутация: 1140 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Задание: для окна отладки (Immediate) редактора VBA написать однострочный макрос, последовательно нумерующий ячейки диапазона 100 строк x 10 столбцов значениями от 1 до 1000, адрес диапазона: B2:K101 текущего рабочего листа.

После выполнения макроса ячейки диапазона должны отображать тысячу значений:
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
............................................................
981 982 983 984 985 986 987 988 989 990
991 992 993 994 995 996 997 998 999 1000

Картина не должна меняться после повторных выполнений макроса.

Мои решения:
* 36 символов - c циклом (имхо, интереснее поломать голову именно здесь)
* 33 32 20 символов - без цикла (имхо, гораздо прозаичнее)


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Понедельник, 28.01.2013, 00:25
 
Ответить
СообщениеЗадание: для окна отладки (Immediate) редактора VBA написать однострочный макрос, последовательно нумерующий ячейки диапазона 100 строк x 10 столбцов значениями от 1 до 1000, адрес диапазона: B2:K101 текущего рабочего листа.

После выполнения макроса ячейки диапазона должны отображать тысячу значений:
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
............................................................
981 982 983 984 985 986 987 988 989 990
991 992 993 994 995 996 997 998 999 1000

Картина не должна меняться после повторных выполнений макроса.

Мои решения:
* 36 символов - c циклом (имхо, интереснее поломать голову именно здесь)
* 33 32 20 символов - без цикла (имхо, гораздо прозаичнее)

Автор - Gustav
Дата добавления - 27.01.2013 в 14:58
ikki Дата: Воскресенье, 27.01.2013, 15:23 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
34 33 (без цикла)


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Воскресенье, 27.01.2013, 15:30
 
Ответить
Сообщение34 33 (без цикла)

Автор - ikki
Дата добавления - 27.01.2013 в 15:23
Gustav Дата: Воскресенье, 27.01.2013, 15:31 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2759
Репутация: 1140 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Да, я не подумал, что надо ужесточить условие циклом. Хорошо, с 33 понятно. Как насчёт цикла? smile


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеДа, я не подумал, что надо ужесточить условие циклом. Хорошо, с 33 понятно. Как насчёт цикла? smile

Автор - Gustav
Дата добавления - 27.01.2013 в 15:31
ikki Дата: Воскресенье, 27.01.2013, 15:35 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
думаю...
пока 39
upd за 40 минут додумался до варианта с циклом в 37 символов. 36 - никак. видимо, другой подход нужен.
upd через 3 минуты - 36. king


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Воскресенье, 27.01.2013, 16:24
 
Ответить
Сообщениедумаю...
пока 39
upd за 40 минут додумался до варианта с циклом в 37 символов. 36 - никак. видимо, другой подход нужен.
upd через 3 минуты - 36. king

Автор - ikki
Дата добавления - 27.01.2013 в 15:35
Gustav Дата: Воскресенье, 27.01.2013, 16:39 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2759
Репутация: 1140 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Цитата (ikki)
через 3 минуты - 36

Ай, молодца, неужели обнаружил все мои секретки?! biggrin

А я тем временем улучшил безцикловую версию на 1 знак - 32. В предположении, что первая строка и первый столбец листа - пустые. Собственно это неявно сразу предполагалось, поскольку диапазон начинается с B2, а не с A1. Тем не менее, спешу озвучить это явно.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Цитата (ikki)
через 3 минуты - 36

Ай, молодца, неужели обнаружил все мои секретки?! biggrin

А я тем временем улучшил безцикловую версию на 1 знак - 32. В предположении, что первая строка и первый столбец листа - пустые. Собственно это неявно сразу предполагалось, поскольку диапазон начинается с B2, а не с A1. Тем не менее, спешу озвучить это явно.

Автор - Gustav
Дата добавления - 27.01.2013 в 16:39
ikki Дата: Воскресенье, 27.01.2013, 16:40 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
вопрос-предложение smile
а если изменить диапазон на B1:K100?
можно уменьшить длину решения?
в моем варианте получилось 34.


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщениевопрос-предложение smile
а если изменить диапазон на B1:K100?
можно уменьшить длину решения?
в моем варианте получилось 34.

Автор - ikki
Дата добавления - 27.01.2013 в 16:40
ikki Дата: Воскресенье, 27.01.2013, 16:42 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
Цитата (Gustav)
неужели обнаружил все мои секретки?!

хочешь - отправлю в личку?


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Воскресенье, 27.01.2013, 16:53
 
Ответить
Сообщение
Цитата (Gustav)
неужели обнаружил все мои секретки?!

хочешь - отправлю в личку?

Автор - ikki
Дата добавления - 27.01.2013 в 16:42
ikki Дата: Воскресенье, 27.01.2013, 16:45 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
Цитата (Gustav)
это неявно сразу предполагалось

нифига не согласен! сказано:

Цитата (Gustav)
адрес диапазона: B2:K101 текущего рабочего листа

и всё.
"текущий лист" не обязан быть пустым.

с другой строны, в "текущем" листе может быть вообще чёрти-чё - например, текстовые форматы ячеек.
и тогда некоторые варианты решений не будут рабочими.
думаю, на будущее надо формулировать условия более четко. wink


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение
Цитата (Gustav)
это неявно сразу предполагалось

нифига не согласен! сказано:

Цитата (Gustav)
адрес диапазона: B2:K101 текущего рабочего листа

и всё.
"текущий лист" не обязан быть пустым.

с другой строны, в "текущем" листе может быть вообще чёрти-чё - например, текстовые форматы ячеек.
и тогда некоторые варианты решений не будут рабочими.
думаю, на будущее надо формулировать условия более четко. wink

Автор - ikki
Дата добавления - 27.01.2013 в 16:45
Gustav Дата: Воскресенье, 27.01.2013, 17:03 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2759
Репутация: 1140 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Цитата (ikki)
а если изменить диапазон на B1:K100?
можно уменьшить длину решения?
в моем варианте получилось 34

хм... а у меня все равно 36... стабильное такое решение...
Цитата (ikki)
думаю, на будущее надо формулировать условия более четко

хорошо, хорошо! впредь буду чётче, все равно безцикловая версия меня не так прёт, как цикл smile
Цитата (ikki)
хочешь - отправлю в личку?

как хочешь, похоже, алгоритмы всё же разные, могу и вскрытия дождаться


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Цитата (ikki)
а если изменить диапазон на B1:K100?
можно уменьшить длину решения?
в моем варианте получилось 34

хм... а у меня все равно 36... стабильное такое решение...
Цитата (ikki)
думаю, на будущее надо формулировать условия более четко

хорошо, хорошо! впредь буду чётче, все равно безцикловая версия меня не так прёт, как цикл smile
Цитата (ikki)
хочешь - отправлю в личку?

как хочешь, похоже, алгоритмы всё же разные, могу и вскрытия дождаться

Автор - Gustav
Дата добавления - 27.01.2013 в 17:03
ikki Дата: Воскресенье, 27.01.2013, 17:05 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
Цитата (Gustav)
а у меня все равно 36...

Цитата (Gustav)
похоже, алгоритмы всё же разные

да, похоже, что разные.
ладно, вскрытие покажет smile


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение
Цитата (Gustav)
а у меня все равно 36...

Цитата (Gustav)
похоже, алгоритмы всё же разные

да, похоже, что разные.
ладно, вскрытие покажет smile

Автор - ikki
Дата добавления - 27.01.2013 в 17:05
ikki Дата: Воскресенье, 27.01.2013, 17:38 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
в предположении, что первая строка и первый столбец пустые - есть решение без цикла в 27 символов.


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Воскресенье, 27.01.2013, 17:41
 
Ответить
Сообщениев предположении, что первая строка и первый столбец пустые - есть решение без цикла в 27 символов.

Автор - ikki
Дата добавления - 27.01.2013 в 17:38
Gustav Дата: Воскресенье, 27.01.2013, 17:47 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2759
Репутация: 1140 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Цитата (ikki)
есть решение без цикла в 27 символов.

вах! есть мнение, что формулисты могут тоже активно поучаствовать в теме


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Цитата (ikki)
есть решение без цикла в 27 символов.

вах! есть мнение, что формулисты могут тоже активно поучаствовать в теме

Автор - Gustav
Дата добавления - 27.01.2013 в 17:47
ikki Дата: Воскресенье, 27.01.2013, 17:58 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
формула для левой верхней ячейки (копируемая) - 15 символов (вместе с =)

при предположении, что текущий лист - вообще пустой, формула - 8 символов (вместе с =)
соответствующее решение в immediate - 20 символов.
biggrin

(думаю, из всего вышесказанного решение очевидно)


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Воскресенье, 27.01.2013, 18:03
 
Ответить
Сообщениеформула для левой верхней ячейки (копируемая) - 15 символов (вместе с =)

при предположении, что текущий лист - вообще пустой, формула - 8 символов (вместе с =)
соответствующее решение в immediate - 20 символов.
biggrin

(думаю, из всего вышесказанного решение очевидно)

Автор - ikki
Дата добавления - 27.01.2013 в 17:58
Gustav Дата: Воскресенье, 27.01.2013, 21:15 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2759
Репутация: 1140 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Цитата (ikki)
при предположении, что текущий лист - вообще пустой

Очень хорошее предположение, думаю, надо было мне сразу об этом сказать. А также о том, что за пределами оговоренного диапазона B2:K101 может происходить что угодно, например, любые вспомогательные вычисления (без необходимости обязательной подчистки).
Цитата (ikki)
думаю, из всего вышесказанного решение очевидно

Эх, для меня пока даже 15(27) не очевидно, а ты уже про 8(20) говоришь...


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Цитата (ikki)
при предположении, что текущий лист - вообще пустой

Очень хорошее предположение, думаю, надо было мне сразу об этом сказать. А также о том, что за пределами оговоренного диапазона B2:K101 может происходить что угодно, например, любые вспомогательные вычисления (без необходимости обязательной подчистки).
Цитата (ikki)
думаю, из всего вышесказанного решение очевидно

Эх, для меня пока даже 15(27) не очевидно, а ты уже про 8(20) говоришь...

Автор - Gustav
Дата добавления - 27.01.2013 в 21:15
ikki Дата: Воскресенье, 27.01.2013, 22:40 | Сообщение № 15
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
файлик не цепляется sad


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Воскресенье, 27.01.2013, 22:44
 
Ответить
Сообщениефайлик не цепляется sad

Автор - ikki
Дата добавления - 27.01.2013 в 22:40
Serge_007 Дата: Воскресенье, 27.01.2013, 22:42 | Сообщение № 16
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (ikki)
формула - 8 символов

Саш, она без функций что ли? smile


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (ikki)
формула - 8 символов

Саш, она без функций что ли? smile

Автор - Serge_007
Дата добавления - 27.01.2013 в 22:42
ikki Дата: Воскресенье, 27.01.2013, 22:44 | Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
Цитата (Serge_007)
без функций

конечно.
и та, которая в 15 символов, тоже.


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Воскресенье, 27.01.2013, 22:46
 
Ответить
Сообщение
Цитата (Serge_007)
без функций

конечно.
и та, которая в 15 символов, тоже.

Автор - ikki
Дата добавления - 27.01.2013 в 22:44
Serge_007 Дата: Воскресенье, 27.01.2013, 23:28 | Сообщение № 18
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (ikki)
конечно.

Так не интересно...

Решение в 8 символов (вместе с =) есть, выслал в личку


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (ikki)
конечно.

Так не интересно...

Решение в 8 символов (вместе с =) есть, выслал в личку

Автор - Serge_007
Дата добавления - 27.01.2013 в 23:28
ikki Дата: Воскресенье, 27.01.2013, 23:51 | Сообщение № 19
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
Цитата (Serge_007)
Так не интересно...

я не виноват, что задача свелась к такому варианту.
точнее - никто не виноват.
придумывать хорошие задачи нелегко.
ты и сам с этим сталкивался.

пс. вариант Сержа неожиданно совпал с моим. biggrin biggrin biggrin


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Воскресенье, 27.01.2013, 23:52
 
Ответить
Сообщение
Цитата (Serge_007)
Так не интересно...

я не виноват, что задача свелась к такому варианту.
точнее - никто не виноват.
придумывать хорошие задачи нелегко.
ты и сам с этим сталкивался.

пс. вариант Сержа неожиданно совпал с моим. biggrin biggrin biggrin

Автор - ikki
Дата добавления - 27.01.2013 в 23:51
Gustav Дата: Понедельник, 28.01.2013, 00:11 | Сообщение № 20
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2759
Репутация: 1140 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Уф, ёлки! Асилил 8 наконец (они же 20 в Immediate)! Слава Богу, а то бы мучался и не выспался перед рабочей неделей biggrin

Цитата (ikki)
я не виноват, что задача свелась к такому варианту.

Задача не свелась к такому варианту, этот вариант не рассматривался как главный. Главный - это цикл. Моя "вина" в том, что я не исключил формульный вариант постановкой. Но я ничуть не огорчен, мне и он понравился. Кстати, эта формула на 8 знаков - неплохой тест при приеме на работу, простенько и со вкусом wink

Что касается циклового варианта, то в своих 36 символах насчитал 4 если не "изюминки", то "пикантности", которые в него заложены. В общем, дождёмся вскрытия. Хотя, может кому-то они таковыми и не покажутся.


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Понедельник, 28.01.2013, 00:26
 
Ответить
СообщениеУф, ёлки! Асилил 8 наконец (они же 20 в Immediate)! Слава Богу, а то бы мучался и не выспался перед рабочей неделей biggrin

Цитата (ikki)
я не виноват, что задача свелась к такому варианту.

Задача не свелась к такому варианту, этот вариант не рассматривался как главный. Главный - это цикл. Моя "вина" в том, что я не исключил формульный вариант постановкой. Но я ничуть не огорчен, мне и он понравился. Кстати, эта формула на 8 знаков - неплохой тест при приеме на работу, простенько и со вкусом wink

Что касается циклового варианта, то в своих 36 символах насчитал 4 если не "изюминки", то "пикантности", которые в него заложены. В общем, дождёмся вскрытия. Хотя, может кому-то они таковыми и не покажутся.

Автор - Gustav
Дата добавления - 28.01.2013 в 00:11
Мир MS Excel » Работа и общение » Мозговой штурм » Пронумеровать ячейки диапазона (макросом в окне Immediate)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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