powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Заполненные столбцы в области
5 сообщений из 5, страница 1 из 1
Заполненные столбцы в области
    #33421315
Alexander K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго дня!

Помогите, плиз, советом.
Необходимо в ячейке отображать количество столбцов из области, в которых введены какие-либо значения. Причем, если пользователь ввел какое-то значение в пустой столбец, то информация о количестве должна обновляться сразу.
...
Рейтинг: 0 / 0
Заполненные столбцы в области
    #33421390
Alexander K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго дня!

Помогите, плиз, советом.
Необходимо в ячейке отображать количество столбцов из области, в которых введены какие-либо значения. Причем, если пользователь ввел какое-то значение в пустой столбец, то информация о количестве должна обновляться сразу.
...
Рейтинг: 0 / 0
Заполненные столбцы в области
    #33421972
Посмотри пример.
...
Рейтинг: 0 / 0
Заполненные столбцы в области
    #33422654
sergeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
недостаток примера, предложенного Пользователь2
в том, что если отключить автоматическое вычисление, то и счета не будет
предлагаю такой вариант (RegionToFill - имя тестируемого "однообластного" региона)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim a As Range, b As Range, c As Range
Set a = Intersect([RegionToFill], Target)
If Not a Is Nothing Then
  Application.EnableEvents = False
  Range("A2") =  0 
  For Each c In [RegionToFill].Columns
    Set a = Nothing: Set b = Nothing
    On Error Resume Next
    Set a = c.SpecialCells(xlCellTypeConstants)
    Set b = c.SpecialCells(xlCellTypeFormulas)
    If Not (a Is Nothing And b Is Nothing) Then
      Range("A2") = Range("A2") +  1 
    End If
    On Error GoTo  0 
  Next c
  Application.EnableEvents = True
End If
End Sub
...
Рейтинг: 0 / 0
Заполненные столбцы в области
    #33422996
Alexander K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sergeyvg
Спасибо, помогли и не дали умереть :). Немного исправил области.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim a As Range, b As Range, c As Range
Set a = Range("F11:AL56")
If Not a Is Nothing Then
  Application.EnableEvents = False
  Range("A4") =  0 
  For Each c In Range("F11:AL56").Columns
    Set a = Nothing: Set b = Nothing
    On Error Resume Next
    Set a = c.SpecialCells(xlCellTypeConstants)
    Set b = c.SpecialCells(xlCellTypeFormulas)
    If Not (a Is Nothing And b Is Nothing) Then
      Range("A4") = Range("A4") +  1 
    End If
    On Error GoTo  0 
  Next c
  Application.EnableEvents = True
End If
End Sub
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Заполненные столбцы в области
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]