|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.04.2011, 11:02 | #1 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 159
|
Excel VBA
Задача стоит простая , выделить столбец нажать на созданную кнопку на листе и вывести результат вычислений
Вычисления сводятся к поиску максимального эл-та столбца и заменой всех кратных ему чисел столбца на их кв-ты Суть вопроса как записать в одномерный массив выделенный нами столбец с данными и как вывести результат на тот же лист "книги" ? Пытался писать только так и не понял как записать в массив Есть вариант с определением диапазона ячеек (первая и последняя) , но пока приберегу его на потом =) Заранее спасибо Собственно вот что родил , но это не работает именно из-за неверной записи данных в массив =) Код:
Последний раз редактировалось MIKE11IPME; 11.04.2011 в 12:10. |
11.04.2011, 11:32 | #2 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 159
|
И да Selection.Rows.Count эт мы случаем не диапазон получаем ?=)
или это все же число строк ? Последний раз редактировалось MIKE11IPME; 11.04.2011 в 11:34. |
11.04.2011, 12:13 | #3 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
Selection - может быть что угодно, но если в этот момент отмечен диапазон - это диапазон
Selection.Rows - коллекция строк в диапазоне Selection.Rows.Count - количество элементов в коллекции (строк в диапазоне) Откройте в редакторе окно Locals, выполняйте свой макрос нажимая F8, следите за состоянием переменных, Вам многое станет понятно самостоятельно
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
11.04.2011, 12:26 | #4 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Примерно так (всего 1 цикл, и то не по ячейкам, а внутри массива):
Код:
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 11.04.2011 в 12:33. Причина: Добавлено. |
11.04.2011, 12:37 | #5 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 159
|
Большущее спасибо =)
просто с синтаксисом VB не знаком |
11.04.2011, 12:56 | #6 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
и тут, видимо, опечатка
If Max Mod Mas(i, 1) = 0 Then Mas(i, 1) = Hug * Hug заменить на If MaxValue Mod Mas(i, 1) = 0 Then Mas(i, 1) = Hug * Hug Собственно, Сережа детально разобрал эту ошибку сообщением выше))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
11.04.2011, 13:18 | #7 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Цитата:
Чем шире угол зрения, тем он тупее.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
VBA Word,VBA Excel решить 2 задачи | fafolo4ka | Фриланс | 6 | 05.03.2012 01:15 |
vba+excel | Анна Рожкова | Microsoft Office Excel | 18 | 28.05.2010 21:41 |
VBA Excel | PashaD | Microsoft Office Excel | 2 | 21.03.2010 18:47 |
Как запретить запуск программы на VBA Excel 2003 в Excel 2007 | kovalevskivf | Microsoft Office Excel | 2 | 15.05.2009 16:47 |
Excel VBA | fidot | Microsoft Office Excel | 1 | 28.12.2008 19:20 |