4de8c15c-87d5-44e1-b6c3-c7160d75ae52
prompter
Умеешь писать макросы для Microsoft Excel?
2bc32faf-7a65-4871-89d3-e9490803ed17
4de8c15c-87d5-44e1-b6c3-c7160d75ae52
assistant
Да, это входит в список моих возможностей. Пожалуйста, уточните, какой именно макрос вы хотели бы создать?
50ec40ae-576c-42ab-8f9f-85d27cba0019
2bc32faf-7a65-4871-89d3-e9490803ed17
prompter
Мне нужен макрос, который бы подсчитывал количество знаков препинания в ячейке.
3423b055-beff-4a27-aea4-23bdfde8f8a1
50ec40ae-576c-42ab-8f9f-85d27cba0019
assistant
Для подсчета количества знаков препинания в ячейке в Microsoft Excel вы можете использовать функцию LEN, которая возвращает длину строки, и функцию SUBSTITUTE, которая заменяет указанные символы в строке. Следующий макрос будет считать количество знаков препинания в ячейке A1:

```vbnet 
Function CountPunctuation(cell As Range) As Integer
    Dim PunctuationMarks As String
    PunctuationMarks = ",.;:?!-"

    CountPunctuation = Len(cell) - Len(WorksheetFunction.Substitute(cell, PunctuationMarks, ""))
End Function```
Вы можете вызвать эту функцию из любой ячейки электронной таблицы, используя формулу: =CountPunctuation(A1). Если вы хотите вызвать эту функцию для другой ячейки, измените аргумент `cell` в функции `CountPunctuation` на нужный адрес ячейки.

Помогло ли вам моё решение?
33576f0d-6739-4497-8158-819172049508
3423b055-beff-4a27-aea4-23bdfde8f8a1
prompter
Помогло, спасибо!