powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ключевое поле в Excel
18 сообщений из 18, страница 1 из 1
Ключевое поле в Excel
    #37370149
Изерлонер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Знаю знаю - надо пользовать акцесс и не пытаться присобачить к ёкселю то чего там отродясь не было. Тем не менее так уж сложилось. Такой вопрос: как сделать ограничение на ввод данных в столбец, так что бы в каждой ячейке было уникальное значение, а при попытке ввести то что уже есть в одной из ячеек столбца - выдавалось бы предупреждение? (ввод может осуществляться не только в конце, но и в любом ячейке столбца).
P.S.: Excel 2007. Столбец используется как ключ, в ячейках проставлены уникальные идентификаторы проставляемые вручную... Кстати... Попутно возник еще один вопрос. Идентификатор представляет из себя буквенно-цифровой шифр с изменяемой и неизменяемой частью. Например 80МАТ27, где 80МАТ - постоянная часть, 27 - изменяемая представляющая собой порядковый номер вводимой записи. (просто по порядку ввода). Возможно ли сделать так чтобы при выводе предупреждения выдавался следующий не занятый порядковый номер?
Спасибо.
...
Рейтинг: 0 / 0
Ключевое поле в Excel
    #37370305
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
=строка()
...
Рейтинг: 0 / 0
Ключевое поле в Excel
    #37370337
Изерлонер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
простите не понял. Как это поможет ограничить ввод значения повторно? Если просто автоматизировать присвоение номера по номеру строки то может получится такая бяка: Бывает я вставляю строку в середину набранной таблицы. В таком случае все номера сдвинутся на эту строку, при том что в связанных таблицах в ссылках на идентификаторы останется старый номер. И капец. Вся целостность полетела к чертям. Или я чего-то не понимаю?
...
Рейтинг: 0 / 0
Ключевое поле в Excel
    #37370350
Изерлонер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и еще. Часто приходится тусовать записи, перемещая их выше или ниже. Все таки хотелось бы что бы идентификатор присвоеный раз был присвоен на всегда, где бы запись ни находилась, вплоть до ее уничтожения. То что идентификаторы в итоге будут разбросаны беспорядочно по столбцу не страшно. Это служебный столбец который можно скрыть. Для порядка есть просто номер позиции - вот там все по порядку.
...
Рейтинг: 0 / 0
Ключевое поле в Excel
    #37370521
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзерлонерИли я чего-то не понимаю?ага
...
Рейтинг: 0 / 0
Ключевое поле в Excel
    #37370551
kuklp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Public Sub www()
    Dim c As Range, r As Range
    Set r = Intersect(ActiveSheet.UsedRange, Columns( 1 ))
    For Each c In r
        If c.Value = "" Then
        c.Value = "80МАТ" & ActiveWorkbook.CustomDocumentProperties( 1 )
        ActiveWorkbook.CustomDocumentProperties( 1 ) = _
        ActiveWorkbook.CustomDocumentProperties( 1 ) +  1 
        End If
    Next
End Sub
...
Рейтинг: 0 / 0
Ключевое поле в Excel
    #37371039
Фотография vikttur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меню Данные-Проверка-Параметры-Тип_данных(другой)-Формула (для В1 ):
=СЧЁТЕСЛИ($B$1:$B$100;B1)=1
...
Рейтинг: 0 / 0
Ключевое поле в Excel
    #37371060
Изерлонер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kuklp,

Суть примерно понял. не понял почему custom.dokument.properties в середине условия было присвоено значение "_" (получается что для каждого с присваивается одно и то же значение "_+1" 8-0 что ли), и вообще что это за свойство такое.
Попытался сделать макрос с этим кодом - при выполнении выдает ошибку как раз на custom.doc...prop...
Ногами прошу не пинать. В vba я пока ноль. Что ж, пойду грызть гранит науки.
...
Рейтинг: 0 / 0
Ключевое поле в Excel
    #37371209
Изерлонер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vikttur,

Благодарю. Кажется именно то что надо.
... если применить по всему столбцу сразу - сильно грузит комп?
...
Рейтинг: 0 / 0
Ключевое поле в Excel
    #37371280
kuklp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изерлонер,

Сначала надо задать это свойство. Я полагаю, в Вашей таблице уже есть номерованные пункты. Нужно цифру максимального из них+1. См скрин.
...
Рейтинг: 0 / 0
Ключевое поле в Excel
    #37371455
wf_to_bo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kuklp,
а такой код заново позволит вставить ранее удаленное значение "ключа", это ничего?
вопрос: на этот "ключ" случайно не ссылается другая таблица?
а то после удаления и повторной вставки "ключа" сслылка будет не туда.
типа
таблица1: "М"
ид фамилия
1 Иванов
2 Петров
3 Сидоров

а в соседней таблице "Ж"
ид_м фамилия
1 Иванова
2 Петрова
3 Сидорова

теперь удаляю из "М" строку "2 Петров"

если бы ид=2 запретили повторно использовать, осталась бы Петрова без мужа, все ок.
а теперь я вставлю в "М" заново ид=2:
2 Какашкин

и теперь таблица "Ж" будет ссылаться куда?
у Петровой муж станет Какашкиным!!!
...
Рейтинг: 0 / 0
Ключевое поле в Excel
    #37371555
wf_to_bo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это было к тому, что в нормальных бд для таких целей используют sequence,
identity, как угодно назовите, но смысл тот, что последнее введенное значение где-то запомнено и следующее генерится больше, чем это запомненное. нет гарантии отсутствия дыр, но есть гарантия неповторяемости + номера монотонно возрастают.
как реализовать в Экселе -- не знаю.
...
Рейтинг: 0 / 0
Ключевое поле в Excel
    #37371567
kuklp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wf_to_boэто было к тому, что в нормальных бд для таких целей используют sequence,
identity, как угодно назовите, но смысл тот, что последнее введенное значение где-то запомнено и следующее генерится больше, чем это запомненное. нет гарантии отсутствия дыр, но есть гарантия неповторяемости + номера монотонно возрастают.
как реализовать в Экселе -- не знаю.Я Вам показал, как реализовать. Неужели трудно самому попробовать? Последнее введенное + 1 как раз и запоминается в ActiveWorkbook.CustomDocumentProperties(1). И если удалить несколько строк, то их ключи уже никогда не появятся.
...
Рейтинг: 0 / 0
Ключевое поле в Excel
    #37371575
wf_to_bo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kuklp,

ой, простите, это не Вам ответ был.
это был коммнет к решению vikttur,
потому как его одобрил ТС.
...
Рейтинг: 0 / 0
Ключевое поле в Excel
    #37371915
wf_to_bo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изерлонерне понял почему custom.dokument.properties в середине условия было присвоено значение "_"

In VBA and Visual Basic Scripting Edition (VBScript) code, you break a line by using the line-continuation character — an underscore (_) preceded by a space. You use line breaks to make sure that your code does not extend beyond the right edge of the Code window (usually about 60 characters).

(поздравляю, я тоже в vba 0)
кстати, можно решение vikttur переделать через максимум, если надо, могу выложить
(только мне кажется, у меня вообще полное уродство -- при вводе нового каждый раз пересчитывается максимум -- ну нормально ли???
зато с целостностью все ок)
...
Рейтинг: 0 / 0
Ключевое поле в Excel
    #37372481
kuklp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wf_to_bo,

А если удалить строку с макс значением, что насчитается? Отож.
...
Рейтинг: 0 / 0
Ключевое поле в Excel
    #37373692
wf_to_bo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kuklp,
уел
...
Рейтинг: 0 / 0
Ключевое поле в Excel
    #37375391
Фотография -O_o-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изерлонер
может поможет мой пример. Посмотрите (добавление департамента)
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ключевое поле в Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]