Помогаю со студенческими работами здесь
Как подсчитать сумму в итоговой ячейке по определенному значению если в ячейке есть буквы и цыфры
Добрый день, всем.
Помогите пожалуйста, как можно посчитать сумму в итоговой ячейке по…
Можно ли как-то изменить в настройках максимальное количество выводимых цифр (значения числа) в ячейке
То количество цифр которое фактически получается у значения числа равного от (171!) и более.
А то…
Как подсчитать количество измененных символов?
Условие задачи такое: заменить все большие буквы на маленькие и подсчитать количество замен. Каким…
Как подсчитать количество символов в файле???
Как подсчитать количество символов в файле, а потом вывести на экран определенное количество…
Искать еще темы с ответами
Или воспользуйтесь поиском по форуму:
Ivann Пользователь Сообщений: 6 |
Всем доброго дня! Подскажите пожалуйста способ подсчёта с помощью макроса количества символов «U» в каждой ячейке, разделители (например запятая, пробел или какие-то ещё) могут быть, а могут и отсутствовать. Буду очень благодарен если подскажете не готовое решение, а только нужную команду VBA с её синтаксисом (желательно подробно, как для совсем новичка) — остальное постараюсь сам сделать. В прилагаемом примере, по-моему, всё подробно описано. |
V Пользователь Сообщений: 5018 |
#2 25.02.2014 10:05:24 формулой выглядело бы так
|
||
Ivann Пользователь Сообщений: 6 |
Спасибо за формулу, попробую и с ней реализовать нужное мне, но всё же лучше макрос. |
V Пользователь Сообщений: 5018 |
#4 25.02.2014 10:15:20 для одной ячейки
|
||
Слэн Пользователь Сообщений: 5192 |
#5 25.02.2014 10:18:25 словами: на vba:
Живи и дай жить.. |
||
Ivann Пользователь Сообщений: 6 |
Вот! То что нужно, только не могли бы Вы подробнее написать как работают эти команды (Split), а лучше как это работает в совокупности? |
Ivann Пользователь Сообщений: 6 |
Слэн, спасибо! Если возможно объясните подробнее как работает строка (n = n + Len(x) — Len(Replace(x, «U», «») ) — я в ней не всё понимаю. |
Слэн Пользователь Сообщений: 5192 |
я же «словами» написал.. идете циклом for each x in по массиву [d2:d5].value каждый раз меняете в x все U на пустые значения сравниваете длину len(x) до и len(replace) после замены и накапливаете ее в n |
Слэн Пользователь Сообщений: 5192 |
spit тоже можно, но мне кажется медленнее работает, впрочем, мерять надо |
Ivann Пользователь Сообщений: 6 |
Всё, Слэн! Спасибо! Мне было непонятно что такое len(replace) — разъяснили. Будем считать закрытой эту тему. Огромное спасибо всем участникам! |
V Пользователь Сообщений: 5018 |
Split делит текст в ячейке на части используя указанный разделитель. т.е. U159U158 делится на 3 части и получается до первой U часть (маркеруется 0), между первой и второй (1), после второй (2). |
Ivann Пользователь Сообщений: 6 |
#12 25.02.2014 10:43:09 V, Спасибо! Всё теперь мне понятно! |
Avsha, Могу предложить ещё один вариант.
Найдите рабочую книгу PERSONAL.XLS, перейдите в модуль ThisWorkbook (ЭтаКнига) и скопируйте туда этот код :
Код: Выделить всё
Dim Cls As New Class1
Private Sub Workbook_Open()
With Application.CommandBars("Cell").Controls.Add _
(Type:=msoControlEdit, Temporary:=True)
.BeginGroup = True
.Style = msoButtonIcon
.Caption = "Кол-во символов"
End With
Set Cls.xlApp = Application
End Sub
Затем создайте модуль класса — Class1 и скопируйте :
Код: Выделить всё
Public WithEvents xlApp As Application
Private Sub xlApp_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Excel.Range, Cancel As Boolean)
iCount = Evaluate("Sum(Len(" & Target.Address & "))")
Application.CommandBars("Cell").Controls("Кол-во символов").Text = _
IIf(IsError(iCount), "Ошибка", iCount)
End Sub
Теперь, при следующем запуске MS Excel (если Вы конечно сохранили изменения в личной книге макросов) Вам будет достаточно выделить ячейку или диапазон ячеек и кликнуть правой кнопкой мышки.
Примечание : На самом деле можно использовать ~ любую рабочую книгу. Для этого её достаточно расположить в стандартной или альтернативной папке автозагрузки.
Стандартной является папка XLSTART, которая в MS Excel 97 располагается, как правило — Program FilesMicrosoft OfficeOfficeXLStart
Альтернативную папку автозагрузки можно выбрать самому (меню Сервис — команда Параметры — закладка Общие — поле Каталог автозагрузки )
Также можно использовать надстройки (.xla)
При желании, эту рабочую книгу (.xls) можно сделать скрытой (меню Окно — команда Скрыть )
P.S. Что касается литературы, то это вопрос не ко мне …
Let’s say I have this variable:
word = «habit»
which command in VBA will allow me to count how many characters are there in this variable (in my case it’s 5).
Important: the variable «word» contains only one word, no spaces, but may have contain numbers and hyphens.
asked Nov 12, 2009 at 20:19
4
Do you mean counting the number of characters in a string? That’s very simple
Dim strWord As String
Dim lngNumberOfCharacters as Long
strWord = "habit"
lngNumberOfCharacters = Len(strWord)
Debug.Print lngNumberOfCharacters
answered Nov 12, 2009 at 20:23
Ben McCormackBen McCormack
31.8k46 gold badges145 silver badges221 bronze badges
Len(word)
Although that’s not what your question title asks =)
answered Nov 12, 2009 at 20:22
David HedlundDavid Hedlund
128k31 gold badges201 silver badges221 bronze badges
Try this:
word = "habit"
findchar = 'b"
replacechar = ""
charactercount = len(word) - len(replace(word,findchar,replacechar))
answered Jun 26, 2015 at 14:40
3
Len is what you want.
word = "habit"
length = Len(word)
answered Nov 12, 2009 at 20:22
Austin SalonenAustin Salonen
48.8k15 gold badges108 silver badges139 bronze badges
Use the Len function
length = Len(myString)
answered Nov 12, 2009 at 20:22
Robert HarveyRobert Harvey
177k47 gold badges333 silver badges499 bronze badges
Содержание
- Подсчет знаков
- Способ 1: подсчет символов
- Способ 2: подсчет символов в столбце
- Способ 3: подсчет символов в нескольких ячейках с помощью автосуммы
- Способ 4: подсчет символов в нескольких ячейках при помощи функции
- Вопросы и ответы
Иногда наступает необходимость узнать, сколько символов содержится в конкретной ячейке. Конечно, можно просто подсчитать вручную, но что делать, если элементов много, а подсчет следует проводить с постоянно меняющимся содержимым для определенных целей? Давайте узнаем, как подсчитать количество знаков в Экселе.
Подсчет знаков
Для подсчета символов в Excel существует специальная функция, которая называется «ДЛСТР». Именно с её помощью можно просуммировать знаки в конкретном элементе листа. Существует несколько способов её использования.
Способ 1: подсчет символов
Для того, чтобы произвести подсчет всех знаков, расположенных в ячейке, используем функцию ДЛСТР, так сказать, в «чистом виде».
- Выделяем элемент листа, в котором должен будет выводиться результат подсчета. Кликаем на кнопку «Ввести функцию», расположенную в верхней части окна слева от строки формул.
- Запускается Мастер функций. Ищем в нем наименование ДЛСТР и жмем на кнопку «OK».
- Вслед за этим происходит открытие окна аргументов. Данная функция имеет только один аргумент – адрес конкретной ячейки. Причем нужно заметить, что в отличие от большинства других операторов, этот не поддерживает ввод ссылок на несколько ячеек или на массив. В поле «Текст» вводим вручную адрес элемента, в котором нужно подсчитать символы. Можно сделать по-другому, что будет проще для пользователей. Устанавливаем курсор в поле аргумента и просто кликаем по нужной области на листе. После этого её адрес появится в поле. Когда данные внесены, жмем на кнопку «OK».
- Как видим, после этого результат расчета количества знаков выводится на экран.
Способ 2: подсчет символов в столбце
Для того, чтобы подсчитать количество знаков в столбце или в любом другом диапазоне данных не обязательно прописывать формулу для каждой ячейки в отдельности.
- Становимся в нижний правый угол ячейки с формулой. Появляется маркер выделения. Зажимаем левую кнопку мыши и тянем его параллельно той области, в которой хотим подсчитать количество символов.
- Формула копируется на весь диапазон. Результат сразу же виден на листе.
Урок: Как сделать автозаполнение в Excel
Способ 3: подсчет символов в нескольких ячейках с помощью автосуммы
Как было сказано выше, аргументом оператора ДЛСТР могут выступать только координаты одной ячейки. Но что делать, если нужно посчитать общую сумму символов в нескольких из них? Для этого очень удобно применить функцию автосуммы.
- Подсчитаем количество знаков для каждой отдельной ячейки, как это было описано в предыдущем варианте.
- Выделяем диапазон, в котором указано количество символов, и жмем на кнопку «Сумма», расположенную во вкладке «Главная» в блоке настроек «Редактирование».
- После этого общая сумма знаков во всех элементах будет отображена в отдельной ячейке рядом с диапазоном выделения.
Урок: Как посчитать сумму в Экселе
Способ 4: подсчет символов в нескольких ячейках при помощи функции
В вышеуказанном способе нужно сразу провести расчет для каждого элемента отдельно и только потом подсчитать общую сумму знаков во всех ячейках. Но существует и такой вариант, в котором все расчеты будут проводиться в только одной из них. В этом случае нужно применять составную формулу с использованием оператора СУММ.
- Выделяем элемент листа, в который будет выводиться результат. Вводим в него формулу по шаблону:
=СУММ(ДЛСТР(адрес_ячейки1);ДЛСТР(адрес_ячейки2);…)
- После того, как функция с адресами всех ячеек, количество символов в которых нужно подсчитать, введена, жмем на кнопку ENTER. На экран выводится общая сумма сложения знаков.
Как видим, существует несколько способов подсчета количества символов в отдельных ячейках, так и общего числа знаков во всех элементах диапазона. В каждом из вариантов данная операция осуществляется при помощи функции ДЛСТР.
Еще статьи по данной теме: