программа не должна быть привязана строго к определённый столбцам или строкам. Как в этом случае, столбцы A и B . И программа составляет значения крайне неестественно для канала. Не может быть такого, что вначале он растёт какое-то время по 5 тыс., а потом в день измнения апи резко 80 тысяч, к примеру. Или не может канал, достигнув за сегодня 55702011, условно завтра уже достигнуть 56001084, и потом соответственно 56105827 56201034 56407958 и какие-нибудь 56413021, рост должен быть более сбалансированным и динамичным (такой же, как и я тебе скидывал). Вот наглядно. как показана эта проблема
02.10.2022 53500000
03.10.2022 53500000 53500919 919
04.10.2022 53500000 53509791 8872
05.10.2022 53500000 53516580 6789
06.10.2022 53500000 53522794 6214
07.10.2022 53600000 53605078 82284
08.10.2022 53600000 53613314 8236
09.10.2022 53600000 53621961 8647
10.10.2022 53600000 53629160 7199
11.10.2022 53600000 53637902 8742
12.10.2022 53600000 53646316 8414
13.10.2022 53700000 53702907 56591
14.10.2022 53700000 53709064 6157
15.10.2022 53700000 53715501 6437
16.10.2022 53700000 53723448 7947
17.10.2022 53700000 53730707 7259
18.10.2022 53800000 53804977 74270
19.10.2022 53800000 53811056 6079
20.10.2022 53800000 53819907 8851
21.10.2022 53800000 53828272 8365
22.10.2022 53900000 53904347 76075
23.10.2022 53900000 53910522 6175
24.10.2022 53900000 53918207 7685
25.10.2022 53900000 53924608 6401
26.10.2022 54000000 54002855 78247
27.10.2022 54000000 54010954 8099
28.10.2022 54000000 54018642 7688
29.10.2022 54000000 54025849 7207
30.10.2022 54000000 54032032 6183
31.10.2022 54100000 54109351 77319
01.11.2022 54100000 54117447 8096
02.11.2022 54100000 54123529 6082
03.11.2022 54100000 54130678 7149
04.11.2022 54100000 54136827 6149
05.11.2022 54100000 54144903 8076
06.11.2022 54200000 54204735 59832
07.11.2022 54200000 54213203 8468
08.11.2022 54200000 54220324 7121
09.11.2022 54200000 54227059 6735
10.11.2022 54300000 54303096 76037
11.11.2022 54300000 54310844 7748
12.11.2022 54300000 54317231 6387
13.11.2022 54400000 54409707 92476
14.11.2022 54400000 54416660 6953
15.11.2022 54400000 54424981 8321
16.11.2022 54400000 54433017 8036
17.11.2022 54400000 54439506 6489
18.11.2022 54500000 54507995 68489
19.11.2022 54500000 54516122 8127
20.11.2022 54500000 54522405 6283
21.11.2022 54500000 54530053 7648
22.11.2022 54500000 54537734 7681
23.11.2022 54500000 54546055 8321
24.11.2022 54500000 54552583 6528
25.11.2022 54600000 54608287 55704
26.11.2022 54600000 54616169 7882
27.11.2022 54600000 54624036 7867
28.11.2022 54600000 54632919 8883
29.11.2022 54600000 54641491 8572
30.11.2022 54600000 54649347 7856
01.12.2022 54700000 54705180 55833
02.12.2022 54800000 54805862 100682
03.12.2022 55500000 55504044 698182
04.12.2022 55700000 55709033 204989
05.12.2022 55900000 55905642 196609
06.12.2022 56000000 56008344 102702
07.12.2022 56200000 56202382 194038
08.12.2022 56600000 56604566 402184
09.12.2022 56700000 56705647 101081
10.12.2022 56800000 56800089 94442
11.12.2022 56800000 56806803 6714
12.12.2022 56800000 56813936 7133
13.12.2022 56800000 56821603 7667
14.12.2022 56800000 56828552 6949
15.12.2022 56800000 56837424 8872
16.12.2022 56900000 56907213 69789
где 1 столбец - это дата, 2 - это исходное сокращённое ютубом число подписчиков, 3 - результат деятельности твоего макроса (крайне грубый и нереалистичный в реальном мире) и 4 - это прирост подписчиков в день (исходит от сделанной макросом работы)
Sub EstimateSubscriberCounts()
Dim lastRow As Long, i As Long
Dim currVisibleSub As Long
Dim prevVisibleSub As Long
Dim estimatedSub As Long
Dim randomValue As Long
Dim minRandomValue As Long
Dim maxRandomValue As Long
Dim minSmallRandom As Long
Dim maxSmallRandom As Long
Dim prevEstimatedSub As Long


Application.ScreenUpdating = False

' ?????? ???????? ??? ?????????? ????????? ??????????? ???????????
minRandomValue = 6000
maxRandomValue = 9000

' ?????? ???????? ??? ????????? ????????? ????? ??? ?????????? ???????? ????? ???????????
minSmallRandom = 1
maxSmallRandom = 9999

' ??????? ????????? ??????????? ?????? ? ??????? A (????)
lastRow = Cells(Rows.Count, "A").End(xlUp).row

' ???????? ?? ???????, ??????? ?? 2-? (???????????, ??? ?????? ?????? — ?????????)
For i = 2 To lastRow
    ' ???????? ??????? ??????? ????? ??????????? ?? ??????? B
    currVisibleSub = Cells(i, "B").Value
    
    If i = 2 Then
        ' ??? ?????? ?????? ?????????????? ????????? ????? ???????????
        prevVisibleSub = currVisibleSub
        ' ?????????? ????????? ????????? ????? ??? ?????? ??????
        estimatedSub = currVisibleSub + Application.WorksheetFunction.RandBetween(minSmallRandom, maxSmallRandom)
        Cells(i, "C").Value = estimatedSub
        prevEstimatedSub = estimatedSub
        ' ? ??????? D ????? ???????? ?????? ???????? ??? 0
        Cells(i, "D").Value = ""
    Else
        ' ?????????? ??????? ??????? ????? ??????????? ? ??????????
        If currVisibleSub > prevVisibleSub Then
            ' ???? ??????? ????? ??????????? ???????????, ?????????? ????????? ?????
            estimatedSub = currVisibleSub + Application.WorksheetFunction.RandBetween(minSmallRandom, maxSmallRandom)
            Cells(i, "C").Value = estimatedSub
            prevEstimatedSub = estimatedSub
            Cells(i, "D").Value = ""
        Else
            ' ???? ??????? ????? ??????????? ?? ??????????, ????????? ????????? ?????????? ??????????
            randomValue = Application.WorksheetFunction.RandBetween(minRandomValue, maxRandomValue)
            estimatedSub = prevEstimatedSub + randomValue
            Cells(i, "C").Value = estimatedSub
            Cells(i, "D").Value = randomValue
            prevEstimatedSub = estimatedSub
        End If
        ' ????????? ?????????? ??????? ????? ??????????? ??? ????????? ????????
        prevVisibleSub = currVisibleSub
    End If
Next i

Application.ScreenUpdating = True
End Sub