Microsoft Excelのセル内の句読点の数を計算するには、ラインの長さを返すLEN関数と、これらの文字をライン内のこれらの文字を置き換える代替機能を使用できます。次のマクロは、セルA1の句読点の数と見なされます。

「vbnet
整数としての関数カウントコンプション（範囲としてのセル）
    文字列としてのDIM句読点
    punctuationmarks = "、。;：？！ - "

    countPunctowation = len（cell）-Len（worksheetfunction
end function```
式を使用して、スプレッドシートの任意のセルからこの関数を呼び出すことができます：= CountCunction（A1）。別のセルのこの関数を呼び出す場合は、 `countconction`関数の「セル」引数をセルの目的のアドレスに変更します。

私の決定はあなたを助けましたか？
Для подсчета количества знаков препинания в ячейке в 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` на нужный адрес ячейки.

Помогло ли вам моё решение?