Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Помогите формулу написать.
 
Заработало! Спасибо ))))  
Но ТАК МЕЕЕДЛЕНННО, даже не верится что на норм компе функция может так эксель затормозить...  
ЗЫ А возможно сделать, тобы он считал кол-во вхождений английской B и русской В в одном флаконе?
Помогите формулу написать.
 
=СУММ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;ДВССЫЛ("b"&СТРОКА(B2:B8)))*(B2:B8="b"))  
массив, т е при вводе ctrl+shift+enter  
 
Чето она мне 1 выдает, а должна 15...  
вместо B2:B8 подставляю F:F.  
И еще, а почему при замене английской "b" на русскую "В" выдает #ССЫЛКА! ?
Помогите формулу написать.
 
Пишет, что могут использоваться функции:  
1 101 СРЗНАЧ    
2 102 СЧЁТ    
3 103 СЧЁТЗ    
4 104 МАКС    
5 105 МИН    
6 106 ПРОИЗВЕД    
7 107 СТАНДОТКЛОН    
8 108 СТАНДОТКЛОНП    
9 109 СУММ    
10 110 ДИСП    
11 111 ДИСПР    
какой из них возможно выбрать количество ячеек с определенным содержанием?
Помогите формулу написать.
 
ПРОМЕЖУТОЧНЫЕ ИТОГИ действительно фильтрозависимы, но как заставить их считать количесвто вхождений - не знаю... Знаю только как посчитать количество непустых строк (ну и еще несколько вариантов, среди которых нету подсчета количесвта вхождений)  
=( =( =(
Помогите формулу написать.
 
Хммм, видимо опять криво, так собрался и объяснил доходчиво! (это я себе) )))  
Таблица, в одном из столбцов в ячейках находятся буквы А В и С (произвольно).  
Как подсчитать количество ячеек с буквой В, чтобы при фильтрации (по любому другому стобцу) формула меняла количесвто В, т.е. видела только отфильтрованные данные.  
П.С. СЧЕТЕСЛИ видит все данные, на фильтр не реагирует.
Помогите формулу написать.
 
легче не стало...  
Наверное не правильно объяснил: нужно подсчитать количесвто ячеек содержащих "В" и чтобы формула была фильтрозависима
Помогите формулу написать.
 
Нужно из столбца данных например АВАААВВВАСССВААСВАВАСВАААСВ выбрать количество вхождений "В", но СЧЕТЕСЛИ не подходит т.к. при фильтрации по другому столбцу количество вхождений "В" не меняется.  
Коротко говоря нужно чтобы формула была "фильтрозависима"
Подсчет количествава вхождений и удаление повторений с помощью макроса
 
Доброй ночи!  
Есть такая БД на листе1, при нажатии кнопки "Кратность посещения" некоторая информация переносится на лист4, при этом в столбце N склеиваются некоторые ячейки для поиска уникальной строки, а в столбце О подсчитывается кол-во повторов.  
Проблемма в том, что если формулы в стобцах N и O растянуть дааааалеко вниз, то оч долго считает, можно ли это как-то оптимизировать, может в текст макроса кнопки запихнуть?  
И второе, можно ли удалить повторяющиеся строки (по столбцу N), кроме самой первой, при этом не нарушая подсчет количества повторений этой строки.
Ввод данных в ячейку с помощью макроса.
 
Нормально работет макрос - разобрался )
Ввод данных в ячейку с помощью макроса.
 
Кстати, сразу не заметил, этот макрос копирует на Лист 2 только Город (столбец А) и Дату (столбец F), а B C D E остаются пустыми...
Ввод данных в ячейку с помощью макроса.
 
Да, все проще пишется и оптимальнее, я намудрил там и запутался...  
Спасибо! =)
Ввод данных в ячейку с помощью макроса.
 
Да на туже самую кнопку.  
А не надо определять, просто очистить все данные на листе 2 и заново добавить помеченные "1" с листа один, они могут быть такиеже или другие - это не важно.
Ввод данных в ячейку с помощью макроса.
 
Убрал разрывы, не специально делал, просто редактировал код найденный на форуме, а не писал с нуля.  
Хочу чтобы макрос проверял весь столбец Y на листе 1 на предмет нахождения в нем "1" и эти строки переносил на лист 2 (но не все ячейки, а те для которых имена в шапках совпадают).  
При повторном нажатии  ЛИст 2 очищался (не весь, а толкьо от добавленных данных) и макрос заново прбегал по листу 1.  
ЗЫ Извиняюсь за создание трудностей...
Ввод данных в ячейку с помощью макроса.
 
Зациклился, на макросе к кнопке AddInf называется в модуле 2, посмотрите Пожалуйста...  
Где я там накосячил?
Ввод данных в ячейку с помощью макроса.
 
Я бы сейчас проверил - работает, а потом бы вылез "не очень приятный сюрприз" в процессе использования... =)
Ввод данных в ячейку с помощью макроса.
 
The_Prist, спасибо!
Ввод данных в ячейку с помощью макроса.
 
{quote}{login=Юрий М}{date=16.09.2009 04:05}{thema=}{post}Избегайте избыточного (и неужного порой) цитирования. Вот зачем Вы весь код продублировали? Тогда всё, что написали и будет отражено в сообщении. По поводу удаления строк. Непонятно где Вы собираетесь удалять строки. Нужно будет писать кучу проверок. Будьте просто внимательны. Данные буду копироваться, если контрольная ячейка = 1. Если действие было ошибочным - придётся эту строку на листе 2 удалять вручную. Повторюсь - можно автоматизировать удаление строки с листа2 при удалении с первого, но это дополнительные проверки.{/post}{/quote}  
 
Хорошо, постараюсь не засорять форум, а в 4 утра мозг уже вскипает, вот и нафигарил )  
мне такое нужно, не только я буду работать с этим, а людям не объяснишь, что ошибать нельзя =(  
Есть идейка сделать на втором листе кнопку, по клику на которую он будет очищать отчет и заново пробегать по всем строкам помечченным еденичкой )    
Как Вам такая идея?
Ввод данных в ячейку с помощью макроса.
 
Что-то с форумом, я другой текст писал... 0_о  
 
Вот так получилось с вычислениями:  
Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
Dim LastRow As Long  
Dim min As String  
Dim max As String  
LastRow = Sheets("Ëèñò2").Cells(Rows.Count, 1).End(xlUp).Row  
If Target.Cells.Count > 1 Then Exit Sub  
If Not Application.Intersect(Range("V:V"), Target) Is Nothing Then  
UserForm1.Show  
If ActiveCell <= Sheets("Ëèñò2").Range("H1") Then  
ActiveCell.Offset(0, 1) = 1  
Else  
ActiveCell.Offset(0, 1) = 0  
End If  
If ActiveCell >= Sheets("Ëèñò2").Range("G1") Then  
ActiveCell.Offset(0, 2) = 1  
Else  
ActiveCell.Offset(0, 2) = 0  
End If  
min = ActiveCell.Offset(0, 1)  
max = ActiveCell.Offset(0, 2)  
ActiveCell.Offset(0, 3) = min * max  
With Sheets("Ëèñò2")  
If ActiveCell.Offset(0, 3) = 1 Then  
ActiveCell.Offset(0, -21).Copy .Cells(LastRow + 1, 1)  
ActiveCell.Offset(0, -19).Copy .Cells(LastRow + 1, 2)  
ActiveCell.Offset(0, -5).Copy .Cells(LastRow + 1, 3)  
ActiveCell.Offset(0, -15).Copy .Cells(LastRow + 1, 4)  
ActiveCell.Offset(0, -14).Copy .Cells(LastRow + 1, 5)  
ActiveCell.Copy .Cells(LastRow + 1, 6)  
LastRow = LastRow + 1  
End If  
End With  
End If  
End Sub  
Вроде работает ) Спасибо огромное еще раз!!!  
Юрий, а вот еще интересный вопрос, возможно ли, "обновлять информацию" т.е., например, если я удаляю строки или меняю дату (иногда же людт ошибаюстся, промахиваются) - эти изменения не вносятся автоматически на лист 2...
Ввод данных в ячейку с помощью макроса.
 
{quote}{login=Юрий М}{date=16.09.2009 03:31}{thema=}{post}Уточнение: не формулы в макросе, а вычисления.{/post}{/quote}  
 
{quote}{login=Юрий М}{date=16.09.2009 03:39}{thema=}{post}Прошу прощения: после строки:  
ActiveCell.Copy .Cells(LastRow + 1, 6)  
добавьте вот такую строку:  
LastRow = LastRow + 1{/post}{/quote}  
 
Вот так получилось с вычислениями:  
Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
Dim LastRow As Long  
Dim min As String  
Dim max As String  
LastRow = Sheets("Ëèñò2").Cells(Rows.Count, 1).End(xlUp).Row  
If Target.Cells.Count > 1 Then Exit Sub  
If Not Application.Intersect(Range("V:V"), Target) Is Nothing Then  
UserForm1.Show  
If ActiveCell <= Sheets("Ëèñò2").Range("H1") Then  
ActiveCell.Offset(0, 1) = 1  
Else  
ActiveCell.Offset(0, 1) = 0  
End If  
If ActiveCell >= Sheets("Ëèñò2").Range("G1") Then  
ActiveCell.Offset(0, 2) = 1  
Else  
ActiveCell.Offset(0, 2) = 0  
End If  
min = ActiveCell.Offset(0, 1)  
max = ActiveCell.Offset(0, 2)  
ActiveCell.Offset(0, 3) = min * max  
With Sheets("Ëèñò2")  
If ActiveCell.Offset(0, 3) = 1 Then  
ActiveCell.Offset(0, -21).Copy .Cells(LastRow + 1, 1)  
ActiveCell.Offset(0, -19).Copy .Cells(LastRow + 1, 2)  
ActiveCell.Offset(0, -5).Copy .Cells(LastRow + 1, 3)  
ActiveCell.Offset(0, -15).Copy .Cells(LastRow + 1, 4)  
ActiveCell.Offset(0, -14).Copy .Cells(LastRow + 1, 5)  
ActiveCell.Copy .Cells(LastRow + 1, 6)  
LastRow = LastRow + 1  
End If  
End With  
End If  
End Sub  
Вроде работает ) Спасибо огромное еще раз!!!  
Юрий, а вот еще интересный вопрос, возможно ли, "обновлять информацию" т.е., например, если я удаляю строки или меняю дату (иногда же людт ошибаюстся, промахиваются) - эти изменения не вносятся автоматически на лист 2...
Ввод данных в ячейку с помощью макроса.
 
{quote}{login=Юрий М}{date=16.09.2009 03:14}{thema=}{post}Копировать данные из строки в которой в столбце Y значение =1? Формулы там есть. Может Вы про что другое говорите?{/post}{/quote}  
 
Да, именно из этих строк (неизвестно заранее сколько их будет)  
Формулы там от руки вбиты, если добавить строки - формулы придется растягивать, я про это говорю, но мне хотябы и так. Не могу сообразить как проверять на условие Y =1 и записывать в каждую след пустую на листе 2...
Ввод данных в ячейку с помощью макроса.
 
{quote}{login=Юрий М}{date=16.09.2009 02:48}{thema=}{post}1. Где на листе1 будут единички?  
2. Куда добавлять на лист2? В первую непустую?  
3. Что добавлять?{/post}{/quote}  
 
1. Y столбец "Проверка даты" (на данный момент не работает т.к. X и Y (столбцы) без формул)  
2. На лист 2 наоборот, в первую пустую по совпадению названий в шапке.  
3. Все что в шапке на листе 2 т.к. на листе 1 данные избыточные.
Ввод данных в ячейку с помощью макроса.
 
{quote}{login=Юрий М}{date=16.09.2009 02:31}{thema=}{post}Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
  If Target.Cells.Count > 1 Then Exit Sub  
  If Not Application.Intersect(Range("V:V"), Target) Is Nothing Then  
     UserForm1.Show  
     If ActiveCell <= Sheets("Лист2").Range("H1") Then  
        ActiveCell.Offset(0, 1) = 1  
     Else  
        ActiveCell.Offset(0, 1) = 0  
     End If  
  End If  
End Sub{/post}{/quote}  
Юрий, спасибо большое, работает! )))  
А не намекнете, какими средствами заполнять строки на листе 2 ?  
Допустим напротив нужных строк на листе 1 у меня будут стоять "1", как сделать чтобы он каждый раз их проверял и добавлял на второй лист только еденички?
Ввод данных в ячейку с помощью макроса.
 
{quote}{login=Юрий М}{date=16.09.2009 02:25}{thema=Re: Re: }{post}{quote}{login=disz}{date=16.09.2009 02:21}{thema=Re: }{post}{quote}{login=Юрий М}{date=16.09.2009 02:11}{thema=}{post}1. У меня нет 2007-го (прочтите Правила).  
2. Проверьте мой код.{/post}{/quote}Видимо я неправильно объяснил, V19 не имеет отношения к проверки, нужно проверять ячейку, в которую только что упала дата, а результат проверки в соседнюю справа...{/post}{/quote}  
Проверять на что? С чем сравнивать?{/post}{/quote}  
 
А сравнивать, правильно, с H1 на втором листе  
<= Sheets("Лист2").Range("H1")  
 
Если не затруднит, посомтрите файл пожалуйста, я его нормально пересохранил...
Ввод данных в ячейку с помощью макроса.
 
{quote}{login=Юрий М}{date=16.09.2009 02:11}{thema=}{post}1. У меня нет 2007-го (прочтите Правила).  
2. Проверьте мой код.{/post}{/quote}  
 
Видимо я неправильно объяснил, V19 не имеет отношения к проверки, нужно проверять ячейку, в которую только что упала дата, а результат проверки в соседнюю справа...
Ввод данных в ячейку с помощью макроса.
 
{quote}{login=Юрий М}{date=16.09.2009 02:11}{thema=}{post}1. У меня нет 2007-го (прочтите Правила).  
2. Проверьте мой код.{/post}{/quote}  
 
Виноват, исправляюсь.
Ввод данных в ячейку с помощью макроса.
 
{quote}{login=Юрий М}{date=16.09.2009 01:58}{thema=}{post}А обязательно вставлять формулу? Почему нельзя сразу в коде выполнить необходимое по условию?{/post}{/quote}  
 
Наверное так будет проще, но я не силен в коде, видимо по этому загнал себя в такой тупик...  
 
Попробую объяснить задачу более полно (см.вложение):  
На листе 1 находится база данных количесвто строк в которой не известно, одной из ключевых позиция является дата.  
На листе 2 пользователь жаждет получить отчет, для этого он задает в ячейках G1 и H1 нач. и кон. даты отчетного периода и получает выборку всех попадающих в диапазон по дате строк, но не всех столбцов (нужные названия совпадают). Кроме этого должен появиться счетчик, показывающий количество строк лежащих на листе 2, причем счетчик зависимый от стандартного "автофильтра" - но до этого я еще не дошел, застрял раньше...
Ввод данных в ячейку с помощью макроса.
 
Доброй ночи!  
Сломал мозг уже, незнаю как сделать, помогите пожалуйста =(  
Задача такая, при нажатии на любую ячейку столбца появляется календарь и выбиратеся дата (это работает), одновременно с активацией календаря в соседней ячейке справа должна лечь формула записанная через =ЕСЛИ() - постоянно не нее ругается. Пробовал по разному, вот последний вариант:  
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
    Dim addr As String  
    Dim formula As String  
    If Target.Cells.Count > 1 Then Exit Sub  
    If Not Application.Intersect(Range("V:V"), Target) Is Nothing Then  
        UserForm1.Show  
        Cells(ActiveCell.Row, ActiveCell.Column + 1).Select  
        addr = ActiveCell.Address()  
        formula = "=ЕСЛИ(Лист1!V19<=Лист2!H$1;1;0)"  
           
        Range(addr) = formula  
 
    End If  
End Sub  
 
(энтерами отделил сторку, на которую ругается)  
Че делать?
Страницы: 1
Наверх