VBA - считать количество каждого символа в диапазоне ячеек - PullRequest
0 голосов
/ 03 ноября 2018

Я хочу создать VBA-код, который должен считать количество каждой буквы в диапазоне (например, A2: A10

Будет проще описать, показывая, как это должно работать: enter image description here

Вывод должен игнорировать дубликаты. То, что я построил, ниже. Это неправильно, но я застрял в этом маленьком проекте и не могу двигаться вперед:

Sub TESTOWEMAKRO()


    Dim i As Long, licznik As Long, znak As String, r As Long



    For i = 2 To 10

        If i = 2 Then
            Range("N" & i) = znak

                For r = i To 10

                    If znak = Range("N" & r + 1) Then
                        licznik = licznik + 1
                        r = r + 1
                    Else
                        r = r + 2
                    End If

                        If r >= 10 Then

                            Range("P" & i).Value = licznik
                            Range("Q" & i).Value = znak
                        End If

                Next r

        'tutaj jesli bedzie powyzej 3

        End If


    Next i

End Sub
    enter code here

1 Ответ

0 голосов
/ 03 ноября 2018

VBA Solution

  1. Копирование диапазона от Column A до Column C
  2. Удалить дубликаты из Column C
  3. Доступ COUNTIF функция с Application.WorksheetFunction
  4. Перебирать уникальные значения в Column C

Вы также можете сделать это с помощью Advanced Filter, который заменит шаги 1. & 2.

Sub Test()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet2") '<== Update sheet name
Dim LRow As Long, i As Long

LRow = ws.Range("A" & ws.Rows.Count).End(xlUp).Row

ws.Range("A1:A" & LRow).Copy ws.Range("C1")
ws.Range("C1:C" & LRow).RemoveDuplicates 1, xlYes
ws.Range("D1") = "Count"

For i = 2 To ws.Range("C" & ws.Rows.Count).End(xlUp).Row
    ws.Range("D" & i) = Application.WorksheetFunction.CountIf(ws.Range("A:A"), ws.Range("C" & i))
Next i

End Sub

Решение без VBA: Pivot Table

Просто выделите столбец To Count и вставьте ось. Перетащите ваше единственное доступное поле в поле Rows и поле Values.

На фотографии Column C & D генерируется макросом, и вы можете видеть выходной сигнал поворота и настройку поворота в крайнем правом положении.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...