|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.05.2009, 14:06 | #1 |
Пользователь
Регистрация: 12.05.2009
Сообщений: 18
|
подсчет суммы ячеек с разных страниц при выполнении условия
есть 2 таблице на листе1 и листе 2. Нужно написать след программу:
в столбце С листа1 должна быть разница столбца В листа 1 и столбца В листа 2 если данные в ячейках столбца А листа 1и 2 совпадают. Private Sub Worksheet_Activate() i = 1 Do While Cells(i, 1) <> "" If Sheets("Лист1").Cells(i, 1).Text = Sheets("Лист2").Cells(i, 1).Text Then Sheets("Лист1").Cells(i, 1) = Val(Sheets("Лист1").Cells(i, 2)) - Val(Sheets("Лист2").Cells(i, 2)) End If Loop i = i + 1 End Sub выдает ошибку |
16.05.2009, 14:25 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
А чем Вас формулы не устраивают?
|
16.05.2009, 14:36 | #3 |
Пользователь
Регистрация: 12.05.2009
Сообщений: 18
|
а как это формулами реализовать?
|
16.05.2009, 14:47 | #4 |
Заблокирован
Регистрация: 23.02.2009
Сообщений: 306
|
=ЕСЛИ(Лист1!A1=Лист2!A1;Лист1!B1-Лист2!B1;0)
|
16.05.2009, 14:57 | #5 |
Пользователь
Регистрация: 12.05.2009
Сообщений: 18
|
...я наверно неправильно объснила...если А1 листа1 = А1 листа 2 то да...
с листа 2 из столбца А программа ищет совпадающие ячейки на листе 1 столбца А и при совпадении выполняется "-". то есть необязательно ,что А1листа1 равно А1 листа 2 может получиться так, что она будет равна ну например А6 или А9 листа 2... |
16.05.2009, 15:01 | #6 |
Заблокирован
Регистрация: 23.02.2009
Сообщений: 306
|
Ну не правильно объяснила А отнимать что? Ячейки, которые расложены в столбце B напротив одинакоых ячеек столбца А? Т.е. Если А1 = А6, то В1-В6, верно? Значения в столбце А уникальны?
|
16.05.2009, 15:09 | #7 |
Пользователь
Регистрация: 12.05.2009
Сообщений: 18
|
да =)))) если А1листа1=А6листа2 то на листе1 в ячейке С1 = В1 листа 1-В6 (листа2)....и так нужно проверить весь лист 2
|
16.05.2009, 15:10 | #8 |
Заблокирован
Регистрация: 23.02.2009
Сообщений: 306
|
{=ЕСЛИ(ИЛИ(Лист2!A:A=Лист1!A1);Лист 1!B1-ВПР(Лист1!A1;Лист2!A:B;2;0))} - формула массива
=ЕСЛИ(ПОИСКПОЗ(A1;Лист2!A:A;0);Лист 1!B1-ВПР(Лист1!A1;Лист2!A:B;2;0)) - обычная формула |
16.05.2009, 15:11 | #9 |
Пользователь
Регистрация: 12.05.2009
Сообщений: 18
|
спасибо а как нужно исправить мой код, чтобы он заработал ( очень интересно )
|
16.05.2009, 15:12 | #10 |
Заблокирован
Регистрация: 23.02.2009
Сообщений: 306
|
Не знаю как
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подсчет суммы в DBGrid | girz | БД в Delphi | 3 | 16.05.2009 14:11 |
подсчет ячеек в зависимости от даты | Алексей777 | Microsoft Office Excel | 4 | 20.02.2009 13:48 |
Подсчет суммы | Kardi | PHP | 0 | 23.11.2008 16:46 |
Удалить строку листа Excel при выполнении условия | Gennady | Microsoft Office Excel | 14 | 18.12.2007 13:54 |