пробую расширить диапазон на весь столбец и выдает ошибку #ЗНАЧ
=СУММ((Лист1!A:A=A2)*(Лист1!B:B<>7)*(Лист1!C:C))
двойное условие
Пользователь
Сообщений: Регистрация: 01.01.1970
23.02.2012 17:08:29
через СУММЕСЛИМН () , можно, думаю, но как написать условие "не равно 7"
пробовал так =СУММЕСЛИМН(Лист1!C:C;Лист1!A:A;Лист2!A2;Лист1!B:B;<>7)
выдает ошибку
двойное условие
Пользователь
Сообщений: Регистрация: 01.01.1970
23.02.2012 16:56:25
Здравствуйте, уважаемые форумчане!
Необходимо просуммировать столбец С и D в приведенном примере и вывести их в лист 2 столбец B через суммесли, но так, чтобы туда попадали все значения, кроме тех которые соответствуют номеру 7 в столбце B листа 1
Вот так запутано)
Спасибо)
Разложить все в один столбец. VBA
Пользователь
Сообщений: Регистрация: 01.01.1970
06.02.2012 14:18:20
Казанский, Алекс, Спасибо огромное. Все работает)
Разложить все в один столбец. VBA
Пользователь
Сообщений: Регистрация: 01.01.1970
06.02.2012 13:41:01
{quote}{login=nerv}{date=06.02.2012 01:36}{thema=}{post}подходит для раздела "работа"{/post}{/quote} в точку)
Разложить все в один столбец. VBA
Пользователь
Сообщений: Регистрация: 01.01.1970
06.02.2012 12:33:10
Здравствуйте! Нужна Ваша помощь. Помогите, пжлст. Есть такая таблица: 1й столбец - первое чисельное значение 2й столбец - последнее чисельное значение 3й столбец - кол-во (между первым и последним значением)
необходимо разложить все в один столбец как в приложенном файле с помощью VBA
Спасибо
скрытые строки
Пользователь
Сообщений: Регистрация: 01.01.1970
06.12.2011 19:39:59
Спасибо как-то даже и не подумал о таком )))
скрытые строки
Пользователь
Сообщений: Регистрация: 01.01.1970
06.12.2011 19:09:40
все-равно никак. вот файл (данные удалил) в котором лист начинается с 12 строки... <EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
скрытые строки
Пользователь
Сообщений: Регистрация: 01.01.1970
06.12.2011 17:54:14
спасибо) но не получилось развернуть строки. может быть дело в том , что файл формата xls с какими-нибудь фильтрами, а я рассматриваю в 2007 Экселе?
скрытые строки
Пользователь
Сообщений: Регистрация: 01.01.1970
06.12.2011 17:42:00
Всем здравствуйте! вопрос такой: кто знает как отобразить скрытые строки в листе , если "скрыты" они начиная с 1й строки? Спасибо
Проверка идентичности данных в разных листах
Пользователь
Сообщений: Регистрация: 01.01.1970
21.11.2011 17:42:29
Думаю, что такое мое начинание не решит мою проблему настолько быстро, насколько ее смогут решить здешние форумчане:) Иначе, я бы даже не постил сюда подобных тем. Но, все-равно спасибо за Вашу идею.
Проверка идентичности данных в разных листах
Пользователь
Сообщений: Регистрация: 01.01.1970
21.11.2011 16:57:39
скачал себе надстройку Plex... может можно как-нибудь с помощью нее произвести проверку?
Проверка идентичности данных в разных листах
Пользователь
Сообщений: Регистрация: 01.01.1970
21.11.2011 16:55:37
up!
Проверка идентичности данных в разных листах
Пользователь
Сообщений: Регистрация: 01.01.1970
21.11.2011 14:20:29
Добрый день! Необходимо решить следующую задачу: в приведенном примере необходимо написать макрос проверки данных (а именно их идентичности) в разных листах. Результат работы макроса можно выводить в отдельном листе как в примере. Есть 5 листов(их может быть и больше и меньше), в каждом из которых находятся определенные колонки с одними и теми же данными , но с разной разбивкой (пр. No of policies, No of Insured , etc.) Итоговая сумма в этих колонках (за соответствующий период) не должна меняться (must be). Но иногда происходит так, что из-за "некачественности" базы данных итоговая сумма в колонках может отличаться. Вот и надо сделать соответствующую проверку :) Проверку для листов Loss Profile , Risk Profile для таких колонок:No of losses, No of reported claims, Claims paid, Claims outstanding необходимо провести отдельно в разрезе по годам. В примере я предлагаю пользоваться для проверки двоичной системой, а именно 0-если данные идентичны, 1 - если не идентичны. Дело в том, что с добавлением новых периодов будут также добавляться и новые ROWS , поэтому прямая ссылка на ячейку тут не покатит, а нужно задавать условия...какие? я не знаю(( В общем, заранее благодарствую!) Какие у кого идеи?
Имитационное моделирование о доходах от некоторых вложений на финансовом рынке
Пользователь
Сообщений: Регистрация: 01.01.1970
12.10.2011 18:26:41
может так
Выборка данных
Пользователь
Сообщений: Регистрация: 01.01.1970
05.06.2011 20:11:05
{quote}{login=Юрий М}{date=05.06.2011 08:08}{thema=Re: }{post}{quote}{login=Kevin}{date=05.06.2011 07:48}{thema=}{post}или 4м столбцом или 2м {/post}{/quote} В каком столбце будут ВСЕГДА фамилии?{/post}{/quote}
пускай в столбце "С" :)
Выборка данных
Пользователь
Сообщений: Регистрация: 01.01.1970
05.06.2011 19:48:22
возможность унифицировать столбцы для разных листов есть. то есть при выгрузке в эксель из рабочей программы с базой данных очередность столбцов можно задавать самому. поэтому дата может быть или 4м столбцом или 2м и т.д. файл желаемого результата прилагаю )
Выборка данных
Пользователь
Сообщений: Регистрация: 01.01.1970
05.06.2011 19:33:32
Здравствуйте! У меня возникла проблема. Заключается она в том , что мне необходимо сделать выборку значений из разных листов, которые находятся в примере в лист "Расчетный файл". В расчетном файле я хочу менять дату в одной ячейке и в зависимости от даты сюда будут выгружаться все фамилии, которым соответствует дата окончания заданая в расчетном файле. пробовал "впр", но эта функция возвращает одно (первое) значение, а функция "суммесли" не применяется к тексту... подскажите, плз, кто знает, каким образом можно произвести выгрузку фамилий из листов в расчетный файл. Спасибо)
приостановка процедуры с возможностью обращения к листам рабочей книги
Пользователь
Сообщений: Регистрация: 01.01.1970
09.09.2010 16:32:26
Код не работал потому что надо было включить обновление экрана, которое я в самом начале откючил. Теперь полный порядок. Еще раз спасибо!
приостановка процедуры с возможностью обращения к листам рабочей книги
Пользователь
Сообщений: Регистрация: 01.01.1970
09.09.2010 15:54:27
Большое спасибо, EducatedFool! Я изучил код. И тут два варианта. Когда я его просто в короткий тестовый файл записываю, где кроме этого кода ничего нет, то он хорошо работает, на экране всплывает окно ввода и можно выделить ячейку - все что хотелось. Но вот когда я этот код уже в свою программу прописываю, то окно ввода всплывает, но не дает мне выбрать ячейку. Лист не становится активным. В чем может быть проблема?
приостановка процедуры с возможностью обращения к листам рабочей книги
Пользователь
Сообщений: Регистрация: 01.01.1970
09.09.2010 13:01:52
Добрый день. Уважаемые гуру, помогите разобраться в вопросе. Есть файл с заказом товаров и есть файл с базой, в которой на эти товары указаны разрешительные документы. Задача - если программа не может сама определить строку в базе из которой надо взять номер документа для товара из заказа, то предложить пользователю в ручном режиме указать эту строку путем активации этой строки. Фрагмент кода:
If Not Range("D:D").Find(predmet, , , xlPart, , xlNext) Is Nothing Then b_str = Range("D:D").Find(predmet, , , xlPart, , xlNext).Row Else: Workbooks("База_ДС.xls").Worksheets("База").Application.Visible = True
и далее нужна подсказка как можно передать пользователю возможность поработать с листом. Такая возможность как я понял есть, потому что предварительно нашел на форуме похожий вопрос и ответ, но не могу реализовать код. Итак подсказка от Slan:
"более красивый путь: вывесить форму в немодальном режиме, зациклить программу: global quit as boolean form.show(false) do doevents loop until quit
Private Sub Form_Click() Unload form quit = True End Sub"
Применение встроенной в VBA функции Left к диапазону
Пользователь
Сообщений: Регистрация: 01.01.1970
23.07.2010 21:05:02
На мой взгляд оба метода - и через массив и через Evaluate достойны внимания и применения. Мне очень не хотелось применять именно перебор циклом всех ячеек диапазона, потому что считал такой подход малоквалифицированным. А у нас ведь модернизация теперь в почете. Так что надо подтягиваться.))
Применение встроенной в VBA функции Left к диапазону
Пользователь
Сообщений: Регистрация: 01.01.1970
23.07.2010 20:54:16
Большое спасибо! Надо будет еще немного поэкспериментировать, чтобы лучше понять и запомнить. Главное, что теперь направление мысли верное. Удачных всем выходных!
Применение встроенной в VBA функции Left к диапазону
Пользователь
Сообщений: Регистрация: 01.01.1970
23.07.2010 20:26:41
Спасибо! Так работает. Пару строк напишите еще, что делает Index и что делает Evaluate в данном случае. А то по встроенному help я никак не пойму.
Применение встроенной в VBA функции Left к диапазону
Пользователь
Сообщений: Регистрация: 01.01.1970
23.07.2010 19:25:27
The_Prist и Hugo спасибо за разъяснения. KL (Кирилл как я понял), именно Вы тогда дали подсказку как побороть Trim без перебора строк. Я оба Ваши кода - попробовал, они работают. Спасибо ). Но Вы видимо не зря сделали оговорку "hard-coded, т.е. подстановка переменных невозможна". Конечно в реальной таблице я не знаю последней строки. Задаю переменную, программа находит последнюю строку и присваивает переменной (str_end) номер строки. Я попробовал в ваших кодах применить переменную. Range("D3:D" & str_end) = [INDEX(LEFT(D3:D20,3),)] - такой код проходит, но он конечно только для эскперимента нужен. А вот в правую часть кода переменную str_end вместо 20 строки вставить не удается. Выходит только через массив надо делать? Или у Вас есть подсказка, какой код применить, если последняя строка определяется через переменную?
Применение встроенной в VBA функции Left к диапазону
Пользователь
Сообщений: Регистрация: 01.01.1970
23.07.2010 18:14:42
А в каком случае надо применять именно LBound(n)? Ведь в вашем коде первый элемент просто обозначен i=1. Что вполне логично. Есть случаи когда это не работает?
Применение встроенной в VBA функции Left к диапазону
Пользователь
Сообщений: Регистрация: 01.01.1970
23.07.2010 18:00:57
Спасибо, Hugo. Я тоже вставил Ваш код и попробовал расширить диапазон до 7000 строк. Результат выполнения - мгновенно. И еще главное для меня - это более изысканный способ, чем построчный перебор. И спасибо, что прислали именно строки кода - по ним все наглядно видно. И как объявить массив, когда не знаешь сколько там в итоге будет элементов, и как определить индекс последнего элемента. В общем, с Вашей помощью я стал чуточку грамотней.) Примите мой поклон.
Применение встроенной в VBA функции Left к диапазону
Пользователь
Сообщений: Регистрация: 01.01.1970
23.07.2010 17:25:47
Со вставкой формулы на лист(сразу на весь диапазон), и затем преобразовывания в значения - ясно как работает и как сделать. А вот с массивами я не работал. Знаю их слабовато. Хотя конечно мысль, что наверняка это все можно сделать через массив, у меня была и есть. Только вот хочется понять, есть ли у такого способа (через массив) какие то преимущества. Стоит им "заморачиваться". Может у кого есть опыт и свое мнение на этот счет.
Применение встроенной в VBA функции Left к диапазону
Пользователь
Сообщений: Регистрация: 01.01.1970
23.07.2010 17:03:45
Спасибо. С циклом все понятно и сделать это несложно. Вопрос как раз в том, чтобы обойтись без него. Хочется узнать более изысканный способ решения такой задачи, про который в обычной книжке не прочтешь. вот, к примеру, как нашли способ обойти цикл при применении фунции Trim