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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2010, 16:52   #1
Brucebelg
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 61
По умолчанию Как правильно указать ссылку формат ячейки чтобы функция работала?

Добрый день,

Функция =IF($C$10=3, COUNTIFS(E10:E13,"CR"),IF($C$10=4,C OUNTIFS(E10:E14,"CR"),IF($C$10=5,CO UNTIFS(E10:E15,"CR"),IF($C$10=6,COU NTIFS(E10:E16,"CL"),IF($C$10=7,COUN TIFS(E10:E17,"CR"),IF($C$10=8,COUNT IFS(E10:E18,"CR"),"-"))))))

Верхняя граница рассматриваемого диапазона не меняется (Е10), а нижний = значению (С10)+10

Если я пишу COUNTIFS(E10$C$10+10)) - функция не работает. Посоветуйте, плиз, как правильно указать формат нижней границы в данном случае. Спасибо
Brucebelg вне форума Ответить с цитированием
Старый 20.05.2010, 16:56   #2
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

=СЧЁТЕСЛИ(ДВССЫЛ("E10:E"&$C$10+10), "CR")

=COUNTIFS(INDIRECT("E10:E"&$C$10+10 ),"CR")
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 20.05.2010, 17:45   #3
Brucebelg
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 61
По умолчанию Cпасибо огромное и еще вопрос по редактированию/дописыванию кода

У меня используется следующий код

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = [c10].Address Then
' отображаем все строки
ActiveSheet.UsedRange.EntireRow.Hid den = False
Select Case Target
' скрываем только определенные строки
Case 3: Range("17:22").EntireRow.Hidden = True
Case 4: Range("18:22").EntireRow.Hidden = True
Case 5: Range("19:22").EntireRow.Hidden = True
Case 6: Range("20:22").EntireRow.Hidden = True
Case 7: Range("21:22").EntireRow.Hidden = True
Case 8: Range("22:22").EntireRow.Hidden = True
Case Else: ' ничего не делаем
End Select
End If
End Sub

и теперь мне понадобилось делать практически то же самое, но для строк с 25 по 30 в зависимости от величины в ячейке К24.

Я не разбираюсь, к сожалению, в бейзике и простая вставка этого же кожа следом за ним с заменой номера ячейки и номеров скрываемых линий ничего не дала, наверняка я сделал что-то не то. Я даже не знаю можно ли писать два кода один за другим и как их именовать в данном случае. Не поможет ли кто дописать? Спасибо заранее
Brucebelg вне форума Ответить с цитированием
Старый 20.05.2010, 17:56   #4
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

А какое отношение это имеет к первому посту? Или Вы все свои вопросы будете в одной теме писать? Код может быть упрощен весьма
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = [c10].Address Then
        ActiveSheet.UsedRange.EntireRow.Hidden = False
        Range(Target + 14 & ":22").EntireRow.Hidden = (Target > 2 And Target < 9)
    End If
End Sub
А это для K24
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = [K24].Address Then
        ActiveSheet.UsedRange.EntireRow.Hidden = False
        Range(Target + 22 & ":30").EntireRow.Hidden = (Target > 2 And Target < 9)
    End If
End Sub
Это для обоих вместе:
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim lrow As Long
    If Target.Address = [K24].Address Then lrow = 30
    If Target.Address = [c10].Address Then lrow = 22
    ActiveSheet.UsedRange.EntireRow.Hidden = False
    Range(Target + 14 & ":" & lrow).EntireRow.Hidden = (Target > 2 And Target < 9)
End Sub
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 20.05.2010, 18:30   #5
Brucebelg
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 61
По умолчанию учту на будующее, спасибо, но сейчас можно продолжить здесь?

два кода вместе делают не совсем то, что мне нужно.
число в ячейку K24 меняется от 0 до 8 и никак не зависит от числа в ячейке С10. Если K24=0, То должна скрываться строка 25, если Л24 отлично от 0, то строка остается. Аналогично для ячейки L24, только в зависимости от ее значения скрывается или остается строка 26. Не могли бы Вы помочь еще и с этим? Спасибо
Brucebelg вне форума Ответить с цитированием
Старый 20.05.2010, 18:31   #6
Brucebelg
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 61
По умолчанию

сорри, опечатка, правильный текст внизу

два кода вместе делают не совсем то, что мне нужно.
число в ячейку K24 меняется от 0 до 8 и никак не зависит от числа в ячейке С10. Если K24=0, То должна скрываться строка 25, если K24 отлично от 0, то строка остается. Аналогично для ячейки L24, только в зависимости от ее значения скрывается или остается строка 26. Не могли бы Вы помочь еще и с этим? Спасибо
Brucebelg вне форума Ответить с цитированием
Старый 20.05.2010, 19:38   #7
Brucebelg
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 61
По умолчанию

Разобрался сам, спасибо
Brucebelg вне форума Ответить с цитированием
Старый 21.05.2010, 10:19   #8
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

Вариант без ДВССЫЛ.
Создать динамический диапазон с именем:
=лист!$E$10:ИНДЕКС(лист!$E$10:$E$18 ;лист!$C$10+1)
Формула на листе:
=СЧЁТЕСЛИ(диап;"CR")
vikttur вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно передать через ссылку двумерный динамический массив? amerhant Общие вопросы C/C++ 2 21.04.2010 23:50
Как чтобы программа работала на другом компьютере Olaf C++ Builder 2 08.04.2010 12:09
Нужна помощь! Нужно переделать программу написанную на дельфи, чтобы она работала под управлением Vista Karloss Фриланс 5 10.11.2008 17:14
Подскажите, как правильно сделать страничку чтобы ее видели поисковики kutt HTML и CSS 5 02.10.2008 21:04
как создать в макросе числовой формат ячейки? Dima007 Microsoft Office Excel 2 30.05.2008 14:08