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

Вход

Регистрация

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

 

= Мир MS Excel/Первая свободная ячейка в столбце снизу (VBA) - Мир MS Excel

Старая форма входа
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: китин  
Первая свободная ячейка в столбце снизу (VBA)
Gustav Дата: Среда, 17.09.2014, 13:02 | Сообщение № 1
Группа: Админы
Ранг: Участник клуба
Сообщений: 2808
Репутация: 1183 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Предлагается написать "программу", состоящую из одной строки для воспроизведения в окне отладки (Immediate Window). Строка после ввода в окно отладки и нажатия Enter должна печатать адрес первой свободной СНИЗУ (пустой) ячейки в столбце A.

Например, если последней непустой ячейкой в столбце A является A10, то должен печататься адрес ячейки A11. Допустимым ответом считается любой из четырех вариантов: $A$11, A$11, $A11 или A11.

Дополнительное условие: данные в столбце A не могут находиться ниже ячейки A65000 (ниже предполагается всё пусто). Таким образом, возможным ответом на задачку может быть адрес от A1 до A65001. Ограничение 65К сделано для любителей Excel 2003.

Программа может состоять из нескольких операторов. Например, программа следующего вида является допустимой: for i=1to 10:debug.print i:next . Длина этой программы составляет 31 символ (правда, она решает совершенно другую задачу).

Возвращаясь к поставленному заданию про адрес: есть решение на 68 символов 63 символа.


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

Сообщение отредактировал Gustav - Среда, 17.09.2014, 13:16
 
Ответить
СообщениеПредлагается написать "программу", состоящую из одной строки для воспроизведения в окне отладки (Immediate Window). Строка после ввода в окно отладки и нажатия Enter должна печатать адрес первой свободной СНИЗУ (пустой) ячейки в столбце A.

Например, если последней непустой ячейкой в столбце A является A10, то должен печататься адрес ячейки A11. Допустимым ответом считается любой из четырех вариантов: $A$11, A$11, $A11 или A11.

Дополнительное условие: данные в столбце A не могут находиться ниже ячейки A65000 (ниже предполагается всё пусто). Таким образом, возможным ответом на задачку может быть адрес от A1 до A65001. Ограничение 65К сделано для любителей Excel 2003.

Программа может состоять из нескольких операторов. Например, программа следующего вида является допустимой: for i=1to 10:debug.print i:next . Длина этой программы составляет 31 символ (правда, она решает совершенно другую задачу).

Возвращаясь к поставленному заданию про адрес: есть решение на 68 символов 63 символа.

Автор - Gustav
Дата добавления - 17.09.2014 в 13:02
ikki Дата: Среда, 17.09.2014, 13:10 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
или я вопрос не понял или у меня 29 символов таки 39


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


Сообщение отредактировал ikki - Среда, 17.09.2014, 13:40
 
Ответить
Сообщениеили я вопрос не понял или у меня 29 символов таки 39

Автор - ikki
Дата добавления - 17.09.2014 в 13:10
Gustav Дата: Среда, 17.09.2014, 13:26 | Сообщение № 3
Группа: Админы
Ранг: Участник клуба
Сообщений: 2808
Репутация: 1183 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
если при пустом столбце A возвращает A1, а при последней непустой A10 возвращает А11, то всё правильно :)


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщениеесли при пустом столбце A возвращает A1, а при последней непустой A10 возвращает А11, то всё правильно :)

Автор - Gustav
Дата добавления - 17.09.2014 в 13:26
ikki Дата: Среда, 17.09.2014, 13:29 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
не, тогда неправильно. при пустом столбце возвращает A2 :(

пс. вообще-то, сомнения вызваны следующим:
первой свободной СНИЗУ (пустой) ячейки в столбце A

данные в столбце A не могут находиться ниже ячейки A65000
тогда, если заполнены A1:A10, то в диапазоне A1:A65000 первая свободная СНИЗУ - это A65000.
не?


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

пс. вообще-то, сомнения вызваны следующим:
первой свободной СНИЗУ (пустой) ячейки в столбце A

данные в столбце A не могут находиться ниже ячейки A65000
тогда, если заполнены A1:A10, то в диапазоне A1:A65000 первая свободная СНИЗУ - это A65000.
не?

Автор - ikki
Дата добавления - 17.09.2014 в 13:29
Russel Дата: Среда, 17.09.2014, 13:33 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1394
Репутация: 320 ±
Замечаний: 0% ±

Excel 2010
В макросах я не силен. Формула (массивная) = 33 символа без {=}
:D


QIWI 9173973973
 
Ответить
СообщениеВ макросах я не силен. Формула (массивная) = 33 символа без {=}
:D

Автор - Russel
Дата добавления - 17.09.2014 в 13:33
ikki Дата: Среда, 17.09.2014, 13:35 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
если при пустом столбце A возвращает A1
39


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение
если при пустом столбце A возвращает A1
39

Автор - ikki
Дата добавления - 17.09.2014 в 13:35
Gustav Дата: Среда, 17.09.2014, 13:35 | Сообщение № 7
Группа: Админы
Ранг: Участник клуба
Сообщений: 2808
Репутация: 1183 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
если заполнены A1:A10, то в диапазоне A1:A65000 первая свободная СНИЗУ - это A65000

ну, наверное, плохо выразился... как бы сказать-то... первая свободная ПО ЗАВЕРШЕНИИ ДВИЖЕНИЯ С САМОГО НИЗА ВВЕРХ :)
ну как мы обычно определяем Ctrl+Up'ом с самого низу, только с некоторыми изюминками

Сила! Похоже, я рюшечками паровоз украшаю, а ты сразу на "Сапсане" едешь :)

P.S. ВНИМАНИЕ! На всякий случай уточню, что если заполнены A1:A3 и потом A8:A10, а между ними A4:A7 - пустые, то ответ A11.


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

Сообщение отредактировал Gustav - Среда, 17.09.2014, 13:46
 
Ответить
Сообщение
если заполнены A1:A10, то в диапазоне A1:A65000 первая свободная СНИЗУ - это A65000

ну, наверное, плохо выразился... как бы сказать-то... первая свободная ПО ЗАВЕРШЕНИИ ДВИЖЕНИЯ С САМОГО НИЗА ВВЕРХ :)
ну как мы обычно определяем Ctrl+Up'ом с самого низу, только с некоторыми изюминками

Сила! Похоже, я рюшечками паровоз украшаю, а ты сразу на "Сапсане" едешь :)

P.S. ВНИМАНИЕ! На всякий случай уточню, что если заполнены A1:A3 и потом A8:A10, а между ними A4:A7 - пустые, то ответ A11.

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

Excel 2003, 2010
37 51


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


Сообщение отредактировал ikki - Среда, 17.09.2014, 17:03
 
Ответить
Сообщение37 51

Автор - ikki
Дата добавления - 17.09.2014 в 13:45
Саня Дата: Среда, 17.09.2014, 14:20 | Сообщение № 9
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
а если значение только в A1?
 
Ответить
Сообщениеа если значение только в A1?

Автор - Саня
Дата добавления - 17.09.2014 в 14:20
Gustav Дата: Среда, 17.09.2014, 14:23 | Сообщение № 10
Группа: Админы
Ранг: Участник клуба
Сообщений: 2808
Репутация: 1183 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
а если значение только в A1?

в этом случае ответом должно быть A2, т.е. "первая пустая после последней заполненной"


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
а если значение только в A1?

в этом случае ответом должно быть A2, т.е. "первая пустая после последней заполненной"

Автор - Gustav
Дата добавления - 17.09.2014 в 14:23
Саня Дата: Среда, 17.09.2014, 14:24 | Сообщение № 11
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
да это понятно, я у Саши спрашиваю - работает его пример в этом случае?
 
Ответить
Сообщениеда это понятно, я у Саши спрашиваю - работает его пример в этом случае?

Автор - Саня
Дата добавления - 17.09.2014 в 14:24
Gustav Дата: Среда, 17.09.2014, 14:26 | Сообщение № 12
Группа: Админы
Ранг: Участник клуба
Сообщений: 2808
Репутация: 1183 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
я у Саши спрашиваю

ааа, понял :)


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

Сообщение отредактировал Gustav - Среда, 17.09.2014, 14:27
 
Ответить
Сообщение
я у Саши спрашиваю

ааа, понял :)

Автор - Gustav
Дата добавления - 17.09.2014 в 14:26
Саня Дата: Среда, 17.09.2014, 14:41 | Сообщение № 13
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
46
42

33 - для xl>2003


Сообщение отредактировал Саня - Среда, 17.09.2014, 16:31
 
Ответить
Сообщение46
42

33 - для xl>2003

Автор - Саня
Дата добавления - 17.09.2014 в 14:41
ikki Дата: Среда, 17.09.2014, 16:48 | Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
я у Саши спрашиваю
нет :(
а так хорошо всё начиналось :D
с учетом единственной заполненной A1 - 51 символ.
но это не окончательно, надеюсь.


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


Сообщение отредактировал ikki - Среда, 17.09.2014, 17:05
 
Ответить
Сообщение
я у Саши спрашиваю
нет :(
а так хорошо всё начиналось :D
с учетом единственной заполненной A1 - 51 символ.
но это не окончательно, надеюсь.

Автор - ikki
Дата добавления - 17.09.2014 в 16:48
AndreTM Дата: Среда, 17.09.2014, 19:03 | Сообщение № 15
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
63 я тоже получил :) (с некоторой хитростью, правда)

Возникли два вопроса:
- каково соглашение об имени листа, к которому обращаемся?
- код у вас правильно считает при пустой A1, но непустых ячейках ниже (скажем, заполнены только A8:A10)?


Skype: andre.tm.007
Donate: Qiwi: 9517375010


Сообщение отредактировал AndreTM - Среда, 17.09.2014, 19:04
 
Ответить
Сообщение63 я тоже получил :) (с некоторой хитростью, правда)

Возникли два вопроса:
- каково соглашение об имени листа, к которому обращаемся?
- код у вас правильно считает при пустой A1, но непустых ячейках ниже (скажем, заполнены только A8:A10)?

Автор - AndreTM
Дата добавления - 17.09.2014 в 19:03
Gustav Дата: Среда, 17.09.2014, 19:18 | Сообщение № 16
Группа: Админы
Ранг: Участник клуба
Сообщений: 2808
Репутация: 1183 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Возникли два вопроса:
- каково соглашение об имени листа, к которому обращаемся?
- код у вас правильно считает при пустой A1, но непустых ячейках ниже (скажем, заполнены только A8:A10)?

1. никакого, полный фристайл (P.S. ну в смысле предполагаем, что этот лист у нас активен)
2. у меня - правильно, ответ в этом случае A11

Я тем временем закурил совершенно иную траву, получил еще один вариант на 63 и даже вытянул его до 57. Но по-прежнему до "травы" двух Саш мне еще далеко :)


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

Сообщение отредактировал Gustav - Среда, 17.09.2014, 19:21
 
Ответить
Сообщение
Возникли два вопроса:
- каково соглашение об имени листа, к которому обращаемся?
- код у вас правильно считает при пустой A1, но непустых ячейках ниже (скажем, заполнены только A8:A10)?

1. никакого, полный фристайл (P.S. ну в смысле предполагаем, что этот лист у нас активен)
2. у меня - правильно, ответ в этом случае A11

Я тем временем закурил совершенно иную траву, получил еще один вариант на 63 и даже вытянул его до 57. Но по-прежнему до "травы" двух Саш мне еще далеко :)

Автор - Gustav
Дата добавления - 17.09.2014 в 19:18
MCH Дата: Среда, 17.09.2014, 19:55 | Сообщение № 17
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

тоже есть вопрос, как узнать что ячейка пустая?
Cells(1,1)=""
или
IsEmpty(Cells(1,1))

с первым вариантом - 43
 
Ответить
Сообщениетоже есть вопрос, как узнать что ячейка пустая?
Cells(1,1)=""
или
IsEmpty(Cells(1,1))

с первым вариантом - 43

Автор - MCH
Дата добавления - 17.09.2014 в 19:55
Gustav Дата: Среда, 17.09.2014, 20:09 | Сообщение № 18
Группа: Админы
Ранг: Участник клуба
Сообщений: 2808
Репутация: 1183 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
как узнать что ячейка пустая?
Cells(1,1)=""
или
IsEmpty(Cells(1,1))

Годится только второе - IsEmpty(Cells(1,1)) .

Первое не годится, так как введенная в A1 формула ="" даст True при сравнении Cells(1,1)="". Эта же формула ="", введенная, скажем, в A1:A3 и последующем Ctrl+Up снизу даст остановку на 3-й ячейке, не на 1-й.


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

Сообщение отредактировал Gustav - Среда, 17.09.2014, 20:11
 
Ответить
Сообщение
как узнать что ячейка пустая?
Cells(1,1)=""
или
IsEmpty(Cells(1,1))

Годится только второе - IsEmpty(Cells(1,1)) .

Первое не годится, так как введенная в A1 формула ="" даст True при сравнении Cells(1,1)="". Эта же формула ="", введенная, скажем, в A1:A3 и последующем Ctrl+Up снизу даст остановку на 3-й ячейке, не на 1-й.

Автор - Gustav
Дата добавления - 17.09.2014 в 20:09
Саня Дата: Среда, 17.09.2014, 20:16 | Сообщение № 19
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
когда вскрываемся?
 
Ответить
Сообщениекогда вскрываемся?

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

Excel 2003, 2010
боюсь, что я сжульничал :) использовал проверку >""
хотя и сомневался, что так пойдёт.
но меня подстёгивали результаты Сани :D

если же делать всё "по-честному" - то совсем плохо: 59 58


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


Сообщение отредактировал ikki - Среда, 17.09.2014, 20:36
 
Ответить
Сообщениебоюсь, что я сжульничал :) использовал проверку >""
хотя и сомневался, что так пойдёт.
но меня подстёгивали результаты Сани :D

если же делать всё "по-честному" - то совсем плохо: 59 58

Автор - ikki
Дата добавления - 17.09.2014 в 20:19
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск:

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