| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программирование, связанное с MS Office > Сравнение двух листов Excel. |
| Автор: Валк 27.7.2006, 15:26 |
| Есть два листа в двух разных книгах (или в одной, не суть). Важно то, что листы имеют связи с другими листами/книгами и формулы в ячейках. Как я могу сравнить два листа на предмет различия/совпадения в формулах/значениях (если в этой ячейке нет формулы)? |
| Автор: Izuver 27.7.2006, 18:52 |
| Можно конечно воспользоваться "=ЕТЕКСТ()" или еще какой проверкой, а так задача как-то непонятна. Конкретней, какие ячейки сравнить-то нужно или их может несколько |
| Автор: Валк 28.7.2006, 08:53 |
| Сравнивать надо все ячейки листа, т. е. листы полностью. Т. е. вот у тебя 2 разных файла *.xls, как можно сравнить два листа из этих книг? |
| Автор: Izuver 29.7.2006, 14:19 |
| на предмет одинаковости значений всех ячеек? |
| Автор: ИгнатьевАлексей 30.7.2006, 20:50 | ||
Если тебе известен диапазон ячеек на листах, который подлежит сравнению, то я бы так сделал:
Это сравниваем значения. Аналогично другие всевозможные свойства, в твоем случае: .Formula .FormulaLocal .FormulaArray А вот если ты не знаешь сколько ячеек надо сравнивать (т.е. работа с документами разной величины) , др. словами, надо сравнить все непустые ячейки, то я и сам присоединяюсь к твоему вопросу! |
| Автор: Валк 1.8.2006, 12:32 |
| Понимаете, мне надо сравнить содержимое одинаковых ячеек в разных листах (и эти листы в разных книгах). Если это какое-то значение, то надо сравнивать значения, если это формула - надо сравнивать формулы. Добавлено @ 12:33 ИгнатьевАлексей Я попробовал твой макрос, выдаёт ошибку в строке: If currentCell.Value <> Worksheets("Лист2").Range(currentCell.Address).Value Then |
| Автор: ИгнатьевАлексей 1.8.2006, 17:58 | ||
| Какая ошибка? А лучше локализуй тот оператор, который не проходит. Для этого попробуй разные фрагменты этой строки. Например:
узнаешь видит ли лист программа и т.п. Одним словом, поработай! |
| Автор: Валк 22.8.2006, 07:03 |
| Приношу свои извинения, что не отписал о результатах. Проблема решена, только не кодом VBA. Я просто нашёл автора книг и узнал у него идентичны ли книги. |