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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.08.2011, 10:00   #11
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

А так не проще
Код:

 Dim lLastRow As Long
lLastRow = Workbooks("СВОД за 12 месяцев.xls").Sheets("Итоги").Cells(Rows.Count, 1).End(xlUp).Row
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 23.08.2011, 10:25   #12
Серёга0629
Форумчанин
 
Регистрация: 21.04.2011
Сообщений: 128
По умолчанию

что-то я его не до кона понял, предведущая версия работает, Спасибо)
Серёга0629 вне форума Ответить с цитированием
Старый 23.08.2011, 10:57   #13
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Почему не работает - я там выше написал: потому что из модуля листа запускаете.
Из стандартного модуля Ваш код работает.
Хотя код конечно нуждается в переделке - вариантов Вам много дали
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 23.08.2011, 11:04   #14
Серёга0629
Форумчанин
 
Регистрация: 21.04.2011
Сообщений: 128
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Почему не работает - я там выше написал: потому что из модуля листа запускаете.
Из стандартного модуля Ваш код работает.
Хотя код конечно нуждается в переделке - вариантов Вам много дали
Моет вопрос покажется глупым, но я не пойму.
Модуль листа(как я понимаю) это в том листе где происходит действие.
а стандартный модуль это что?
Серёга0629 вне форума Ответить с цитированием
Старый 23.08.2011, 11:09   #15
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Стандартный в моём понимании (может есть и другое название) - это когда на книге "вставить -> модуль", и появляется модуль отдельно. И код в этом модуле.
Цитата:
Модуль листа(как я понимаю) это в том листе где происходит действие.
- вот именно, модуль там, а действие Вы хотите произвести в другом листе - поэтому там селекты и не работают.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 23.08.2011, 11:41   #16
Серёга0629
Форумчанин
 
Регистрация: 21.04.2011
Сообщений: 128
По умолчанию

Спасибо за разъеснение)
Серёга0629 вне форума Ответить с цитированием
Старый 23.08.2011, 11:56   #17
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

То, что Игорь назвал стандартным модулем я называю программым. Возможно кто-то более тщательно изучавший документацию по ВБА может нас обоих поправить...
модуль листа, это тот модуль в который Вы можете попасть из книги эксель - правой кнопкой по ярлыку листа, "Исходный текст".
простой код:
Range("A1:D10").Select
написанный в модуле листа отметит дианазон A1:D10 на этом листе.
этот же код - в программном модуле - отметит диапазон A1:D10 на активном в момент выполнения кода листе.
Разницу улавливаете? этот лист - речь идет о совершенно определенном листе, а активным - может оказаться любой из листов книги, не обязательно это будет этот лист
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 23.08.2011, 12:00   #18
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Закончу - и поэтому и была ошибка: код из листа пытался выделить диапазон на неактивном в этот момент листе.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 23.08.2011, 12:23   #19
Серёга0629
Форумчанин
 
Регистрация: 21.04.2011
Сообщений: 128
По умолчанию

Код:
Sub ffff()
Workbooks("СВОД за 12 месяцев.xls").Sheets("125в").Select
  Range("C3:C370").Select
  Selection.Find(Application.Max(Selection)).Copy
  Workbooks("СВОД за 12 месяцев.xls").Sheets("Итоги").Select
  Range("C4").PasteSpecial
End Sub
но я же прописую полный путь: Книгу-Лист-Диапазон, если бы я просто сразу писал диапазон, то да.
да и интересно то, что этот код я копирую в Лист 125 и там выдаёт ошибку, правда другую:
Вложения
Тип файла: zip 111.zip (79.1 Кб, 6 просмотров)
Серёга0629 вне форума Ответить с цитированием
Старый 23.08.2011, 12:48   #20
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

однако...
эта функция написанная на листе ХХХ следает следующее:
Sub ffff()
Workbooks("СВОД за 12 месяцев.xls").Sheets("125в").Select
выберет лист 125в
Range("C3:C370").Select
отметит диапазон C3:C370 на листе ХХХ. Для функции ffff() расположенной в модуле листа ХХХ обращение Range("C3:C370").Select - это обращение к диапазону "своего" листа, а не того, что Вы перед этим отметили
Selection.Find(Application.Max(Sele ction)).Copy
Workbooks("СВОД за 12 месяцев.xls").Sheets("Итоги").Selec t
Range("C4").PasteSpecial
End Sub

если уж Вам без селектов - никуда, то
Код:
Sub ffff()
  with Workbooks("СВОД за 12 месяцев.xls").Sheets("125в")
    .Range("C3:C370").Select
    Selection.Find(Application.Max(Selection)).Copy
  end with
  with Workbooks("СВОД за 12 месяцев.xls").Sheets("Итоги")
    .Range("C4").PasteSpecial
  end with
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправление ошибки 215 в коде Stefansson Помощь студентам 3 20.01.2011 23:13
Поиск в коде ошибки. Повторяется бесконечно! Человек_Борща Общие вопросы Delphi 9 16.01.2011 01:27
мелкие Ошибки в коде T@tali Паскаль, Turbo Pascal, PascalABC.NET 10 10.01.2011 21:55
Ошибки в коде для Builder C++ ололошенько C++ Builder 21 22.08.2010 15:26
ошибки в коде вычисления арифметических выражений на с++ Euforia_PZAS09_1 Помощь студентам 5 11.03.2010 20:42