Создание примитивного счетчика
vdekameron
Дата: Вторник, 12.01.2016, 17:23 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 177
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Добрый день, понимаю что вопрос простейший, но не знаю как реализовать, так как слаб в VBA. Нужно чтобы когда на листе в excel писалась буква Г в ячейке допустим A1 работал счетчик, т.е введена одна Г , в ячейке A1 появляется цифра 1, еще где то ставим "г" в А1 уже -2 и т.д. Заранее спасибо!
Добрый день, понимаю что вопрос простейший, но не знаю как реализовать, так как слаб в VBA. Нужно чтобы когда на листе в excel писалась буква Г в ячейке допустим A1 работал счетчик, т.е введена одна Г , в ячейке A1 появляется цифра 1, еще где то ставим "г" в А1 уже -2 и т.д. Заранее спасибо! vdekameron
Ответить
Сообщение Добрый день, понимаю что вопрос простейший, но не знаю как реализовать, так как слаб в VBA. Нужно чтобы когда на листе в excel писалась буква Г в ячейке допустим A1 работал счетчик, т.е введена одна Г , в ячейке A1 появляется цифра 1, еще где то ставим "г" в А1 уже -2 и т.д. Заранее спасибо! Автор - vdekameron Дата добавления - 12.01.2016 в 17:23
Manyasha
Дата: Вторник, 12.01.2016, 17:31 |
Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация:
898
±
Замечаний:
0% ±
Excel 2010, 2016
vdekameron , а так не подойдет?Код
=СЧЁТЕСЛИ($B$1:$P$24;"г")
Диапазон нужный поставьте.
vdekameron , а так не подойдет?Код
=СЧЁТЕСЛИ($B$1:$P$24;"г")
Диапазон нужный поставьте.Manyasha
ЯД: 410013299366744 WM: R193491431804
Ответить
Сообщение vdekameron , а так не подойдет?Код
=СЧЁТЕСЛИ($B$1:$P$24;"г")
Диапазон нужный поставьте.Автор - Manyasha Дата добавления - 12.01.2016 в 17:31
vdekameron
Дата: Вторник, 12.01.2016, 17:34 |
Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 177
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
да я же вроде пишу в ветке VBA. мне нужен код. со счет если я сам знаю
да я же вроде пишу в ветке VBA. мне нужен код. со счет если я сам знаю vdekameron
Ответить
Сообщение да я же вроде пишу в ветке VBA. мне нужен код. со счет если я сам знаю Автор - vdekameron Дата добавления - 12.01.2016 в 17:34
Roman777
Дата: Вторник, 12.01.2016, 17:35 |
Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация:
127
±
Замечаний:
0% ±
Excel 2007, Excel 2013
В модуль нужного листа [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target = "г" Or Target = "Г" Then Cells(1, 1) = Cells(1, 1) + 1 End If End Sub
[/vba] Правда если в ячейку где уже стоит "г" или "Г" вписать заного какой-нибудь из этих символов, в ячейке А1 всё-равно приплюсуется =))
В модуль нужного листа [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target = "г" Or Target = "Г" Then Cells(1, 1) = Cells(1, 1) + 1 End If End Sub
[/vba] Правда если в ячейку где уже стоит "г" или "Г" вписать заного какой-нибудь из этих символов, в ячейке А1 всё-равно приплюсуется =)) Roman777
Много чего не знаю!!!!
Ответить
Сообщение В модуль нужного листа [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target = "г" Or Target = "Г" Then Cells(1, 1) = Cells(1, 1) + 1 End If End Sub
[/vba] Правда если в ячейку где уже стоит "г" или "Г" вписать заного какой-нибудь из этих символов, в ячейке А1 всё-равно приплюсуется =)) Автор - Roman777 Дата добавления - 12.01.2016 в 17:35
_Boroda_
Дата: Вторник, 12.01.2016, 17:35 |
Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Так нужно? Можно сразу несколько "г" вводить [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next For i = 1 To Target.Cells.Count If Target(i) = "г" Then n_ = n_ + 1 Next i Range("A1") = Range("A1") + n_ End Sub
[/vba] Или еще проще. Тогда можно стирать "г" или ставить в ту ячейку, где уже она стоит - все равно в А1 будет реальное количество "г". [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) Range("A1") = WorksheetFunction.CountIf(Cells, "г") End Sub
[/vba]
Так нужно? Можно сразу несколько "г" вводить [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next For i = 1 To Target.Cells.Count If Target(i) = "г" Then n_ = n_ + 1 Next i Range("A1") = Range("A1") + n_ End Sub
[/vba] Или еще проще. Тогда можно стирать "г" или ставить в ту ячейку, где уже она стоит - все равно в А1 будет реальное количество "г". [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) Range("A1") = WorksheetFunction.CountIf(Cells, "г") End Sub
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Так нужно? Можно сразу несколько "г" вводить [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next For i = 1 To Target.Cells.Count If Target(i) = "г" Then n_ = n_ + 1 Next i Range("A1") = Range("A1") + n_ End Sub
[/vba] Или еще проще. Тогда можно стирать "г" или ставить в ту ячейку, где уже она стоит - все равно в А1 будет реальное количество "г". [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) Range("A1") = WorksheetFunction.CountIf(Cells, "г") End Sub
[/vba] Автор - _Boroda_ Дата добавления - 12.01.2016 в 17:35
vdekameron
Дата: Вторник, 12.01.2016, 17:47 |
Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 177
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Так нужно? Можно сразу несколько "г" вводить
Да, именно так и хотел, только 2 нюанса сразу всплывает. 1)Если я эти "г" удаляю счетчик не работает в обратном направлении. 2)Если я в одной и той же ячейке 100 раз введу "г" то счетчик 100 раз будет работать а не хотелось бы.
Так нужно? Можно сразу несколько "г" вводить
Да, именно так и хотел, только 2 нюанса сразу всплывает. 1)Если я эти "г" удаляю счетчик не работает в обратном направлении. 2)Если я в одной и той же ячейке 100 раз введу "г" то счетчик 100 раз будет работать а не хотелось бы.vdekameron
Ответить
Сообщение Так нужно? Можно сразу несколько "г" вводить
Да, именно так и хотел, только 2 нюанса сразу всплывает. 1)Если я эти "г" удаляю счетчик не работает в обратном направлении. 2)Если я в одной и той же ячейке 100 раз введу "г" то счетчик 100 раз будет работать а не хотелось бы.Автор - vdekameron Дата добавления - 12.01.2016 в 17:47
vdekameron
Дата: Вторник, 12.01.2016, 17:49 |
Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 177
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Ооооо огромное вам спасибо!!!сразу 2 нюанса закрылись!!! Спасибо!
Ооооо огромное вам спасибо!!!сразу 2 нюанса закрылись!!! Спасибо!vdekameron
Ответить
Сообщение Ооооо огромное вам спасибо!!!сразу 2 нюанса закрылись!!! Спасибо!Автор - vdekameron Дата добавления - 12.01.2016 в 17:49
vdekameron
Дата: Вторник, 12.01.2016, 18:06 |
Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 177
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Private Sub Worksheet_Change(ByVal Target As Range) Range("A1") = WorksheetFunction.CountIf(Cells, "г") End Sub
Только в вашем файле все работает а в моем когда я удаляю букву счетчик назад не работает(((
Private Sub Worksheet_Change(ByVal Target As Range) Range("A1") = WorksheetFunction.CountIf(Cells, "г") End Sub
Только в вашем файле все работает а в моем когда я удаляю букву счетчик назад не работает(((vdekameron
Ответить
Сообщение Private Sub Worksheet_Change(ByVal Target As Range) Range("A1") = WorksheetFunction.CountIf(Cells, "г") End Sub
Только в вашем файле все работает а в моем когда я удаляю букву счетчик назад не работает(((Автор - vdekameron Дата добавления - 12.01.2016 в 18:06
vdekameron
Дата: Вторник, 12.01.2016, 18:10 |
Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 177
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
_Boroda_,
Ответить
Сообщение _Boroda_, Автор - vdekameron Дата добавления - 12.01.2016 в 18:10
Manyasha
Дата: Вторник, 12.01.2016, 18:18 |
Сообщение № 10
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация:
898
±
Замечаний:
0% ±
Excel 2010, 2016
vdekameron , поднимите строчку счетчика: [vba]Код
Range("A1") = WorksheetFunction.CountIf(Cells, "b") With Target Select Case .Value Case "nb", "b" '...
[/vba]
vdekameron , поднимите строчку счетчика: [vba]Код
Range("A1") = WorksheetFunction.CountIf(Cells, "b") With Target Select Case .Value Case "nb", "b" '...
[/vba]Manyasha
ЯД: 410013299366744 WM: R193491431804
Ответить
Сообщение vdekameron , поднимите строчку счетчика: [vba]Код
Range("A1") = WorksheetFunction.CountIf(Cells, "b") With Target Select Case .Value Case "nb", "b" '...
[/vba]Автор - Manyasha Дата добавления - 12.01.2016 в 18:18
Udik
Дата: Вторник, 12.01.2016, 18:22 |
Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация:
192
±
Замечаний:
0% ±
Excel 2016 х 64
а в моем когда я удаляю букву счетчик назад не работает(((
Ну так пересчёт идет только при введении разрешенных букв, т.е. стерли где не надо, а потом где-нибудь вводите буквочку
а в моем когда я удаляю букву счетчик назад не работает(((
Ну так пересчёт идет только при введении разрешенных букв, т.е. стерли где не надо, а потом где-нибудь вводите буквочкуUdik
вот вам барабан яд 41001231307558 wm R419131876897 udik1968@gmail.com
Сообщение отредактировал Udik - Вторник, 12.01.2016, 18:27
Ответить
Сообщение а в моем когда я удаляю букву счетчик назад не работает(((
Ну так пересчёт идет только при введении разрешенных букв, т.е. стерли где не надо, а потом где-нибудь вводите буквочкуАвтор - Udik Дата добавления - 12.01.2016 в 18:22
_Boroda_
Дата: Вторник, 12.01.2016, 20:32 |
Сообщение № 12
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Я бы перенес строку (Марина, спасибо), но немного выше. Для возможности множественного ввода и/или стирания. Если он возможен и нужен. Если нет, то так, как написала Марина. [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("D5:BI30")) Is Nothing Then Exit Sub Range("A1") = WorksheetFunction.CountIf(Cells, "b") If Target.Count > 1 Then Exit Sub ...
[/vba]
Я бы перенес строку (Марина, спасибо), но немного выше. Для возможности множественного ввода и/или стирания. Если он возможен и нужен. Если нет, то так, как написала Марина. [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("D5:BI30")) Is Nothing Then Exit Sub Range("A1") = WorksheetFunction.CountIf(Cells, "b") If Target.Count > 1 Then Exit Sub ...
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Я бы перенес строку (Марина, спасибо), но немного выше. Для возможности множественного ввода и/или стирания. Если он возможен и нужен. Если нет, то так, как написала Марина. [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("D5:BI30")) Is Nothing Then Exit Sub Range("A1") = WorksheetFunction.CountIf(Cells, "b") If Target.Count > 1 Then Exit Sub ...
[/vba] Автор - _Boroda_ Дата добавления - 12.01.2016 в 20:32
vdekameron
Дата: Среда, 13.01.2016, 11:02 |
Сообщение № 13
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 177
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
_Boroda_, Спасибо большое, так вообще идеально. проверил-работает. Огромное спасибо за помощь.
_Boroda_, Спасибо большое, так вообще идеально. проверил-работает. Огромное спасибо за помощь. vdekameron
Ответить
Сообщение _Boroda_, Спасибо большое, так вообще идеально. проверил-работает. Огромное спасибо за помощь. Автор - vdekameron Дата добавления - 13.01.2016 в 11:02