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

Вход

Регистрация

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

 

= Мир MS Excel/Код макроса автоматического счетчика - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Код макроса автоматического счетчика (Макросы/Sub)
Код макроса автоматического счетчика
fan-vba Дата: Среда, 17.01.2018, 22:40 | Сообщение № 21
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 10 ±
Замечаний: 0% ±

Excel 2007
Я здесь вообще сложного ничего не вижу. Просто для построения нужного Вам кода необходимо четко понимать как и что у вас там устроено в оригинале, как и что нужно получить. Из за нечетко сформулированной задачи - нет четкого ответа %)
 
Ответить
СообщениеЯ здесь вообще сложного ничего не вижу. Просто для построения нужного Вам кода необходимо четко понимать как и что у вас там устроено в оригинале, как и что нужно получить. Из за нечетко сформулированной задачи - нет четкого ответа %)

Автор - fan-vba
Дата добавления - 17.01.2018 в 22:40
andalexm Дата: Четверг, 18.01.2018, 09:29 | Сообщение № 22
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Может быть есть формула счетчика?
 
Ответить
СообщениеМожет быть есть формула счетчика?

Автор - andalexm
Дата добавления - 18.01.2018 в 09:29
RAN Дата: Четверг, 18.01.2018, 09:51 | Сообщение № 23
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Никак не пойму проблемы.
Чем не подходит код из №2?
После ввода значения в ячейку А запускается пересчет книги (все формулы на всех листах), так что к "шагу 3" можно смело добавить любое количество шагов.
Пока пересчет не окончится, событие Change не возникнет, и счетчик не изменится.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеНикак не пойму проблемы.
Чем не подходит код из №2?
После ввода значения в ячейку А запускается пересчет книги (все формулы на всех листах), так что к "шагу 3" можно смело добавить любое количество шагов.
Пока пересчет не окончится, событие Change не возникнет, и счетчик не изменится.

Автор - RAN
Дата добавления - 18.01.2018 в 09:51
andalexm Дата: Четверг, 18.01.2018, 10:05 | Сообщение № 24
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
fan-vba вот посмотрите пожалуйста другой пример, думаю на нем будет более ясная картина, что к чему.....
К сообщению приложен файл: __.xlsm (12.3 Kb)
 
Ответить
Сообщениеfan-vba вот посмотрите пожалуйста другой пример, думаю на нем будет более ясная картина, что к чему.....

Автор - andalexm
Дата добавления - 18.01.2018 в 10:05
RAN Дата: Четверг, 18.01.2018, 10:42 | Сообщение № 25
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
И стоило два дня мозги людям пудрить?
[vba]
Код
Dim counter

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i&
    If Target.Row < 3 Then Exit Sub
    If Target.Column > 1 Then Exit Sub
    For i = 3 To Cells(Rows.Count, 5).End(xlUp).Row
        If Cells(i, 5) <> counter(i, 1) Then Cells(i, 6) = Cells(i, 6) + 1
    Next
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Row < 3 Then Exit Sub
    If Target.Column > 1 Then Exit Sub
    counter = Range(Cells(1, 5), Cells(Rows.Count, 5).End(xlUp)).Value
End Sub
[/vba]

Чуть исправил


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Четверг, 18.01.2018, 11:06
 
Ответить
СообщениеИ стоило два дня мозги людям пудрить?
[vba]
Код
Dim counter

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i&
    If Target.Row < 3 Then Exit Sub
    If Target.Column > 1 Then Exit Sub
    For i = 3 To Cells(Rows.Count, 5).End(xlUp).Row
        If Cells(i, 5) <> counter(i, 1) Then Cells(i, 6) = Cells(i, 6) + 1
    Next
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Row < 3 Then Exit Sub
    If Target.Column > 1 Then Exit Sub
    counter = Range(Cells(1, 5), Cells(Rows.Count, 5).End(xlUp)).Value
End Sub
[/vba]

Чуть исправил

Автор - RAN
Дата добавления - 18.01.2018 в 10:42
andalexm Дата: Четверг, 18.01.2018, 11:40 | Сообщение № 26
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Боже мой, не уж то заработал счетчик hands . RAN благодарю вас!!! И спасибо всем! Извините, что вначале ввел всех в заблуждение.
 
Ответить
СообщениеБоже мой, не уж то заработал счетчик hands . RAN благодарю вас!!! И спасибо всем! Извините, что вначале ввел всех в заблуждение.

Автор - andalexm
Дата добавления - 18.01.2018 в 11:40
andalexm Дата: Пятница, 19.01.2018, 21:19 | Сообщение № 27
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
[vba]
Код
Private Sub Worksheet_Calculate()
        Static test$
        If [A1] <= 1000 Then
        If [A1] <> test Then
            Call counter
        End If
    End If
    test = [A1]      
End Sub

Sub counter()
Application.EnableEvents = False
Range("A2") = Range("A2") + 1
Application.EnableEvents = True
End Sub
[/vba]

Ребята, вот пишу для вас всех кому может понадобится код макроса автоматического счетчика на "калькулейте" как я и писал в начале, при чем универсального, под любые нужды и который работает от значений формул т.е. не от ручного ввода. Долго я его искал, но пришлось собирать по крупицам и доводить до рабочего состояния самому. А1 - ячейка откуда берет данные счетчик, А2 - ячейка куда выводит данные счетчик. 1000 это значение до которого счетчик сравнивает статистику ячейки А1. Можно изменить на какое угодно или взять в скобки зафиксировать. Так, что пользуйтесь. Всем пока!!!
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Calculate()
        Static test$
        If [A1] <= 1000 Then
        If [A1] <> test Then
            Call counter
        End If
    End If
    test = [A1]      
End Sub

Sub counter()
Application.EnableEvents = False
Range("A2") = Range("A2") + 1
Application.EnableEvents = True
End Sub
[/vba]

Ребята, вот пишу для вас всех кому может понадобится код макроса автоматического счетчика на "калькулейте" как я и писал в начале, при чем универсального, под любые нужды и который работает от значений формул т.е. не от ручного ввода. Долго я его искал, но пришлось собирать по крупицам и доводить до рабочего состояния самому. А1 - ячейка откуда берет данные счетчик, А2 - ячейка куда выводит данные счетчик. 1000 это значение до которого счетчик сравнивает статистику ячейки А1. Можно изменить на какое угодно или взять в скобки зафиксировать. Так, что пользуйтесь. Всем пока!!!

Автор - andalexm
Дата добавления - 19.01.2018 в 21:19
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Код макроса автоматического счетчика (Макросы/Sub)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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