Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2020, 10:44   #1
krot12348
Пользователь
 
Регистрация: 26.07.2019
Сообщений: 14
По умолчанию Нумерация значений в ячейке при совпадении.

Текстовые данные вводятся в столбик "В", например слово "Якорь",
если в предыдущей ячейке есть это слово,оно должно принять вид "Якорь №1" а вводимое "Якорь №2" ,
следующее если совпадает "Якорь №3" и т.д. В столбике могут быть совпадения в разных местах, и их номера должны начинаться с 1.
На форуме такого примера не нашёл, с чего начать даже не знаю.
Если такое вообще возможно прошу помощи у знатоков .
krot12348 вне форума Ответить с цитированием
Старый 24.12.2020, 11:16   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

самый простой вариант
Вложения
Тип файла: xlsx Книга1.xlsx (10.1 Кб, 12 просмотров)
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 24.12.2020, 11:31   #3
krot12348
Пользователь
 
Регистрация: 26.07.2019
Сообщений: 14
По умолчанию

Aleksandr H., Спасибо большое за ответ, но тут данные идут в строку, а надо в колонку,
и нет нумерации первого значения, а третье значение при совпадении идёт уже с двумя номерами.
Можно и ручками номера вставлять, но это жутко долго, много значений. Надо через VBA ,этот ужасно умный язык.
Пока что лажу по форуму, может что нибудь попадётся похожее.
krot12348 вне форума Ответить с цитированием
Старый 24.12.2020, 11:36   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Как ето "в строку"? В столбце В пишите свои якоря, в С формула будет нумеровать
Цитата:
нет нумерации первого значения, а третье значение при совпадении идёт уже с двумя номерами.
как ето?

Где ваш файл с примером что хотите получить?



Цитата:
Надо через VBA
Код:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range
    Dim TextCount As Integer
    Dim i As Integer
    Dim Count As Integer
    Dim text As String
    Application.EnableEvents = False
    Set KeyCells = Range("B1:B100")
    
    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
        Is Nothing Then
        Count = 1
        For i = 1 To Target.Row - 1
            If Range("B" & i).Value2 <> "" Then
                text = Split(Trim$(Range("B" & i).Value2), " №")(0)
                If text = Target Then Count = Count + 1
            End If
        Next i
        Target.Value = Target.Value & " № " & Count
    End If
    Application.EnableEvents = True
End Sub
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.

Последний раз редактировалось Aleksandr H.; 24.12.2020 в 11:54.
Aleksandr H. вне форума Ответить с цитированием
Старый 24.12.2020, 12:00   #5
krot12348
Пользователь
 
Регистрация: 26.07.2019
Сообщений: 14
По умолчанию

Aleksandr H., Прошу прощения, руки кривые у меня, не сразу разобрался.
Скриншот 24-12-2020 134710.jpg
Тока вот номера "Якорей" в желтом цвете должны быть №1 и №2, такое вомжно сделать.
krot12348 вне форума Ответить с цитированием
Старый 24.12.2020, 12:19   #6
krot12348
Пользователь
 
Регистрация: 26.07.2019
Сообщений: 14
По умолчанию

Aleksandr H., Ты метеор, уже код написал, спасибо большое, тока вот руки у меня как я писал выше кривые , не работает он у меня.
krot12348 вне форума Ответить с цитированием
Старый 24.12.2020, 12:20   #7
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Тока вот номера "Якорей" в желтом цвете должны быть №1 и №2, такое вомжно сделать.
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range
    Dim TextCount As Integer
    Dim i As Integer
    Dim Count As Integer
    Dim text As String
    On Error GoTo Erl
    Application.EnableEvents = False
    
    Set KeyCells = Range("B1:B100")
    
    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
        Is Nothing Then
        Count = 1
        For i = Target.Row - 1 To 1 Step -1
            If Trim$(Range("B" & i).Value2) <> "" Then
                text = Split(Trim$(Range("B" & i).Value2), " №")(0)
                If text = Target.Value2 Then
                    Count = Count + 1
                Else
                    Exit For
                End If
            End If
        Next i
        Target.Value = Target.Value & " № " & Count
    End If
Erl:
    Application.EnableEvents = True
End Sub
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 24.12.2020, 13:00   #8
krot12348
Пользователь
 
Регистрация: 26.07.2019
Сообщений: 14
По умолчанию

Aleksandr H., Благодарю за помощь, я такое никогда не смастерил бы ,код работает на ура,
как и было задумано. Спасибо что не отказал, и за терпение.
krot12348 вне форума Ответить с цитированием
Старый 24.12.2020, 13:23   #9
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от krot12348 Посмотреть сообщение
я такое никогда не смастерил бы
волшебного пинка не было от и не мастерил.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 28.12.2020, 07:45   #10
krot12348
Пользователь
 
Регистрация: 26.07.2019
Сообщений: 14
По умолчанию

Всем привет, есть вопрос по скрипту в сообщении 7.
Скрипт работает отлично, нумерует рядом стоящие ячейки при совпадении,
но он также нумерует и одиночные ячейки без совпадений, чего хотелось бы избежать.
Прошу помочь справится с этой проблемой
krot12348 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как объединить ячейки во втором столбце при совпадении значений в первом столбце BorisD Microsoft Office Excel 13 08.09.2018 10:09
подскажите где посмотреть,как присвоить значение ячейке при совпадении Ava_lon Microsoft Office Excel 2 18.02.2016 05:32
Сравнение данных по определенному диапазону строк и при совпадении значений копирование данных в другой лист Volk358 Microsoft Office Excel 6 02.10.2012 09:54
Перенос данных с листов при совпадении определенных значений ячеек Тантана Microsoft Office Excel 11 21.05.2010 14:06
Поиск значений и копирование при совпадении serafim09 Microsoft Office Excel 2 24.02.2010 13:36