Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Подсчёт заполненных строк, удовлетворяющих условию - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Подсчёт заполненных строк, удовлетворяющих условию
bumnik Дата: Четверг, 27.08.2015, 17:11 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 185
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007,2010
Здравствуйте! В столбце "А" формула подсчёта заполненных строк (без знака "%") столбца "В". Необходима формула которая при внесении новой фамилии в середину списка присваивала максимальный номер всего списка. Например: 1,2, (новая фамилия) 5,3,4,(новая фамилия) 8,6,7 и т.д.
[moder]Переименовывайте тему в соответствии с Правилами форума![/moder]
[moder]Нарушение исправлено.[/moder]
К сообщению приложен файл: 0272327.xlsx (37.5 Kb)


Сообщение отредактировал bumnik - Четверг, 27.08.2015, 17:32
 
Ответить
СообщениеЗдравствуйте! В столбце "А" формула подсчёта заполненных строк (без знака "%") столбца "В". Необходима формула которая при внесении новой фамилии в середину списка присваивала максимальный номер всего списка. Например: 1,2, (новая фамилия) 5,3,4,(новая фамилия) 8,6,7 и т.д.
[moder]Переименовывайте тему в соответствии с Правилами форума![/moder]
[moder]Нарушение исправлено.[/moder]

Автор - bumnik
Дата добавления - 27.08.2015 в 17:11
Manyasha Дата: Четверг, 27.08.2015, 18:01 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 902 ±
Замечаний: 0% ±

Excel 2010, 2016
Можно при изменении листа проставлять, например так:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Column <> 4 Or Target.Count > 1 Then Exit Sub
     If Target.Value <> "" Then
         If Cells(Target.Row, 1) = "" And InStr(Target.Value, "%") = 0 Then
             Cells(Target.Row, 1) = WorksheetFunction.Max(Columns("a:a")) + 1
         End If
     End If
End Sub
[/vba]
К сообщению приложен файл: 0272327-1.xlsm (43.7 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеМожно при изменении листа проставлять, например так:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Column <> 4 Or Target.Count > 1 Then Exit Sub
     If Target.Value <> "" Then
         If Cells(Target.Row, 1) = "" And InStr(Target.Value, "%") = 0 Then
             Cells(Target.Row, 1) = WorksheetFunction.Max(Columns("a:a")) + 1
         End If
     End If
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 27.08.2015 в 18:01
bumnik Дата: Четверг, 27.08.2015, 18:15 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 185
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007,2010
Manyasha, то, что нужно, но не удаляет проставленные цифры если удалить фамилию.
 
Ответить
СообщениеManyasha, то, что нужно, но не удаляет проставленные цифры если удалить фамилию.

Автор - bumnik
Дата добавления - 27.08.2015 в 18:15
Manyasha Дата: Четверг, 27.08.2015, 18:22 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 902 ±
Замечаний: 0% ±

Excel 2010, 2016
В конец макроса добавьте
[vba]
Код
    Else
          Cells(Target.Row, 1).ClearContents
      End If
[/vba]
все вместе вот так будет:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Column <> 4 Or Target.Count > 1 Then Exit Sub
     If Target.Value <> "" Then
         If Cells(Target.Row, 1) = "" And InStr(Target.Value, "%") = 0 Then
             Cells(Target.Row, 1) = WorksheetFunction.Max(Columns("a:a")) + 1
         End If
     Else
          Cells(Target.Row, 1).ClearContents
      End If
End Sub
[/vba]


ЯД: 410013299366744 WM: R193491431804

Сообщение отредактировал Manyasha - Четверг, 27.08.2015, 18:24
 
Ответить
СообщениеВ конец макроса добавьте
[vba]
Код
    Else
          Cells(Target.Row, 1).ClearContents
      End If
[/vba]
все вместе вот так будет:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Column <> 4 Or Target.Count > 1 Then Exit Sub
     If Target.Value <> "" Then
         If Cells(Target.Row, 1) = "" And InStr(Target.Value, "%") = 0 Then
             Cells(Target.Row, 1) = WorksheetFunction.Max(Columns("a:a")) + 1
         End If
     Else
          Cells(Target.Row, 1).ClearContents
      End If
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 27.08.2015 в 18:22
bumnik Дата: Четверг, 27.08.2015, 18:29 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 185
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007,2010
Manyasha, СПАСИБО!!! :)
 
Ответить
СообщениеManyasha, СПАСИБО!!! :)

Автор - bumnik
Дата добавления - 27.08.2015 в 18:29
bumnik Дата: Пятница, 28.08.2015, 22:17 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 185
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007,2010
Можно ли подобное сделать формулой?


Сообщение отредактировал bumnik - Суббота, 29.08.2015, 20:44
 
Ответить
СообщениеМожно ли подобное сделать формулой?

Автор - bumnik
Дата добавления - 28.08.2015 в 22:17
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!