Этот код помогает создавать уникальные ключи во всех данных, но требует небольшого ручного управления.Буду рад конструктивной критике и дополнениям
Прикреплен файл с примером.
Макрос срабатывает при открытии листа книги.
Прикреплен файл с примером.
Макрос срабатывает при открытии листа книги.
| Код |
|---|
Private Sub Worksheet_Activate()
Dim e As String
ThisWorkbook.Activate 'строка не обязательна если работать в одной книги
Set Tab_1 = Лист1.ListObjects("Таблица1")
y = Tab_1.ListRows.Count 'посчитать количество строк в таблице
x = Tab_1.ListColumns.Count 'посчитать количество строк в таблице
a = Tab_1.ListColumns("Au_key").Range.Column 'Определить № столбца по имени столбца
e = "Уникальное название книги" & y
For b = 1 To y
If Tab_1.DataBodyRange(b, a) = "" Then
Tab_1.DataBodyRange(b, a) = e
For с = 1 To y
If Tab_1.DataBodyRange(с, a) = Tab_1.DataBodyRange(b, a) Then
MsgBox "найден дубликат"
For d = 1 To y
If Tab_1.DataBodyRange(d, a) = Tab_1.DataBodyRange(b, a) Then
If d = b Then
GoTo перенос2
End If
Tab_1.DataBodyRange(b, a) = e & "_" & d
EXitFor
перенос2:
End If
Next d
End If
Next с
End If
Next b
End Sub |
Изменено: - 06.08.2019 23:59:23
(заменил 1 GoTo на EXitFor)