powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Проверка ввода дублированных значений
25 сообщений из 25, страница 1 из 1
Проверка ввода дублированных значений
    #34331195
Фотография sebastian_opereiro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно ли как-нибудь стандартными средствами или с помощью макроса решить следующую проблему: в книге несколько листов (предположим 10). В диапазон А1:В2 на каждом листе нужно вводить фамилии работников. С помощью Данные>Проверка>Список значений я указал список допустимых значений для ввода. Но теперь встает вопрос как, предположим если на Листе1 в Ячейке А1 выбран какой-либо работник, то при попытке ввода его на другом листе в любую ячейку диапазона А1:В2 было понятно (например выскакивало сообщение), что он уже введен на Листе1? Подходит любой вид оповещения - выделение цветом, всплывающее окно и т.п.
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34331371
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Набросал по-быстрому на формулах, а там сам думай, может слишко громоздко и неудобно! Посмотри вообщем
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34331846
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-нить в этом духе (см. приложение)

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34332557
Фотография sebastian_opereiro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо большое! А что за функция sheets? на моем листе она выдает ошибку #ИМЯ?
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34332650
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sebastian_opereiroСпасибо большое! А что за функция sheets? на моем листе она выдает ошибку #ИМЯ?
не отключай макросы никакие
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34333027
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)что-нить в этом духе (см. приложение)

KL
[MVP - Microsoft Excel]

У меня почему-то не работает, может поделитесь, о каких макросах спрашивается при открытии файла и где их можно посмотреть?
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34333599
Фотография sebastian_opereiro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все заработало! Настроил. Странно только эта фишка не заработала на Excel XP. Но на Excel 2003 все прекрасно заработало.
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34333630
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sebastian_opereiroСпасибо большое! А что за функция sheets? на моем листе она выдает ошибку #ИМЯ?

DeggasadУ меня почему-то не работает, может поделитесь, о каких макросах спрашивается при открытии файла и где их можно посмотреть?

Sheets - это не функция, а именованная формула (меню Вставка - Имя - Присвоить...), использующая макрофункцию Excel 4.0 (XLM) GET.WORKBOOK() [ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ()] с параметром 1. Данная именованная формула возвращает массив состоящий из имен листов. Для того, чтобы решение функционировало, нужно создать эту формулу в книге, где будет использоваться условное форматирование.

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34333876
Фотография sebastian_opereiro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL) sebastian_opereiroСпасибо большое! А что за функция sheets? на моем листе она выдает ошибку #ИМЯ?

DeggasadУ меня почему-то не работает, может поделитесь, о каких макросах спрашивается при открытии файла и где их можно посмотреть?

Sheets - это не функция, а именованная формула (меню Вставка - Имя - Присвоить...), использующая макрофункцию Excel 4.0 (XLM) GET.WORKBOOK() [ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ()] с параметром 1. Данная именованная формула возвращает массив состоящий из имен листов. Для того, чтобы решение функционировало, нужно создать эту формулу в книге, где будет использоваться условное форматирование.

KL
[MVP - Microsoft Excel]

И все равно - работает через раз, фиг поймешь почему. Если ввести формулу из условного форматирования в любую ячейку - выдается ошибка #ССЫЛКА?. Ищу решение попроще - без использования функций Excel 4.0....
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34333877
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)

Sheets - это не функция, а именованная формула (меню Вставка - Имя - Присвоить...), использующая макрофункцию Excel 4.0 (XLM) GET.WORKBOOK() [ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ()] с параметром 1. Данная именованная формула возвращает массив состоящий из имен листов. Для того, чтобы решение функционировало, нужно создать эту формулу в книге, где будет использоваться условное форматирование.

KL
[MVP - Microsoft Excel]

Всё время выдаёт неверная функция, чтобы использовать эти макрофункции что-нибуть нужно настраивать не подскажите? И ещё а зачем там
Код: plaintext
ТДАТА()* 0 
?
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34333890
Фотография sebastian_opereiro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeggasadНабросал по-быстрому на формулах, а там сам думай, может слишко громоздко и неудобно! Посмотри вообщем

Это решение тоже подходит за исключением того, что во-первых слишком громоздкое, а во-вторых каждый раз в книге разное количество листов, поэтому статичная матрица с формулами не подходит...
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34333953
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще никакие макрофукции Excel 4.0 не работают, у меня Excel 2003, что сделать нужно не подскажите?
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34333962
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sebastian_opereiro DeggasadНабросал по-быстрому на формулах, а там сам думай, может слишко громоздко и неудобно! Посмотри вообщем

Это решение тоже подходит за исключением того, что во-первых слишком громоздкое, а во-вторых каждый раз в книге разное количество листов, поэтому статичная матрица с формулами не подходит...

Зато наглядно, громоздко для наглядности, а уж свернуть и додумать всегда можно!
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34334016
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sebastian_opereiroИ все равно - работает через раз, фиг поймешь почему.у меня всегда ;-)

sebastian_opereiroЕсли ввести формулу из условного форматирования в любую ячейку - выдается ошибка #ССЫЛКА?. А кто сказал, что эту формулу можно использовать в ячейках в том виде в каком она использована в условном форматировании? Формула МАТРИЧНАЯ и ссылается на ячейку, в которой используется. Для того, чтобы она работала в ячейке нужно:

1. желание понять как она работает (а его, по всему видно, нет)
2. внести изменения в саму формулу, например:
=СУММПРОИЗВ(СЧЁТЕСЛИ(ДВССЫЛ("'"&Sheets&"'!A1:B2");A1))>2
или
=СУММА(СЧЁТЕСЛИ(ДВССЫЛ("'"&Sheets&"'!A1:B2");A1))>2 но только эта последняя должна вводиться не с помощью ENTER, а с помощью CTRL+SHIFT+ENTER
3. формулу =GET.WORKBOOK(1+NOW()*0) использовать в ячейках вообще нельзя

sebastian_opereiroИщу решение попроще - без использования функций Excel 4.0....
тогда - макросы VBA

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34334022
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй такой вариант. код помести в модуль "ЭтаКнига" (ThisWotkbook)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
Option Explicit
'это адрес диапазона, за которым нужно следить на каждом листе
Const WatchRangeAddress = "A1:B2"  

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

    If Not Intersect(Target, Range(WatchRangeAddress)) Is Nothing Then
        If HasDoubles(Target) Then
            Target.Interior.ColorIndex =  3 
        Else
            Target.Interior.ColorIndex = xlColorIndexNone
        End If
    End If
End Sub

Function HasDoubles(CheckRng As Range) As Boolean
Dim Sh As Worksheet
Dim Rez As Range

    HasDoubles = False
    For Each Sh In ThisWorkbook.Worksheets
        Set Rez = Sh.Range(WatchRangeAddress).Find(What:=CheckRng.Value, After:=CheckRng, LookAt:=xlWhole, LookIn:=xlValues)
        If Not Rez Is Nothing Then
            If Not (CheckRng.Address = Rez.Address And CheckRng.Worksheet.Name = Rez.Worksheet.Name) Then
                HasDoubles = True
                Set Rez = Nothing
                Exit Function
            End If
        End If
    Next Sh
    Set Rez = Nothing
End Function
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34334075
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeggasadВсё время выдаёт неверная функция, чтобы использовать эти макрофункции что-нибуть нужно настраивать не подскажите?- Макросы должны быть включены (установленный уровень безопасности для макросов должен быть максимум Средний)

- Подвесь файл дающий ошибку

- Какая версия и язык Office?

- Возможно в формуле использованной в условном форматировании нужно подставить апострофы:
=СУММА(СЧЁТЕСЛИ(ДВССЫЛ( "'"& Sheets&" ' !A1:B2");A1))>2

DeggasadИ ещё а зачем там
Код: plaintext
ТДАТА()* 0 
?Для летучести. Функция ТДАТА в отличие от большинства - летучая, а значит пересчитывает при любом изменении на листе.

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34334712
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)
3. формулу =GET.WORKBOOK(1+NOW()*0) использовать в ячейках вообще нельзя


А нельзя ли выложить пример использования макрофункций (жеалетельно GET.WORKBOOK) в ячейках книги Exel, если это всё же возможно!
Или ссылку какую нибуть где почитать (только на русском языке плиз) по практическому мокрофункций.
Я то грешным делом справку скачал по макрофункциям и пробую их просто в ячейку лепить!

Касательно условного форматирования:
1) С апострофами заработало! - интересно почему, т.е. не почему с апострофами заработало, а почему у меня с апострофами, а увас без оных?
2) Исходя из исходных данных мне казалось что повторения более 1 уже должны подсвечиваться, а не более 2
3) на листе с исходными наименованиями диапазон A1:A2 также попадает в проверку, поэтому может возникать ошибка, это я не к тому что ошибку нашел, а просто вдруг кто не сразу увидит и подумает, что не правильно работает!
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34334808
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[/quot]
А нельзя ли выложить пример использования макрофункций (жеалетельно GET.WORKBOOK) в ячейках книги Exel, если это всё же возможно!
[/quot]


Нашёл - GET.WORKBOOK используется только на листе макросов

И всё же возможно как то использовать в ячейке обычного листа или нет?
И ещё что за птица такая этот лист макросов, чем он отличается от обычного и почему он не отображается в VBA?
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34334819
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всмысле в редакторе VBA&
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34334913
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deggasad А нельзя ли выложить пример использования макрофункций (жеалетельно GET.WORKBOOK) в ячейках книги Exel, если это всё же возможно!Невозможно! Я как раз об этом и говорил "использовать в ячейках вообще нельзя". Только через именованные формулы () или из VBA

Deggasad ...только на русском языке плиз) по практическому макрофункций.:-( Боюсь, что с этим глухо, а на английском или голландском - пожалуйста:
http://www.jkp-ads.com/Articles/ExcelNames08.htm
http://www.jkp-ads.com/Articles/ExcelNames08NL.htm

Deggasad Я то грешным делом справку скачал по макрофункциям и пробую их просто в ячейку лепить!Дело хорошее, но только учитывай, что большинство макрофункций не будут работать даже в именах. Работают в основном те, которые начинаются на GET. (ПОЛУЧИТЬ.) и Evaluate (ВЫЧИСЛИТЬ).

Deggasad Касательно условного форматирования:
1) С апострофами заработало! - интересно почему, т.е. не почему с апострофами заработало, а почему у меня с апострофами, а увас без оных?Потому, что...

1. имя моего первоначального файла и имена листов не содержали ни пробелов ни скобок

2. если имена листов и/или файла содержат пробелы или скобки, все это должно заключаться в апострофы:
'[Example(1).xls]Sheet1'!

!!! Если версия твоего Excel 2000 или более ранняя, то ячейки с формулами,
содержащими имена использующие макрофункции XLM, нельзя копировать на другие
листы, т.к. это вызовет аварийное закрытие Excel с потерей несохраненных
изменений. Вместо копирования ячейки нужно использовать ввод формулы вручную или копирование содержимого ячейки в виде текста (например через панель формул)

Deggasad 2) Исходя из исходных данных мне казалось что повторения более 1 уже должны подсвечиваться, а не более 2
3) на листе с исходными наименованиями диапазон A1:A2 также попадает в проверку...3) причина
2) следствие

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34335015
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)

Deggasad 2) Исходя из исходных данных мне казалось что повторения более 1 уже должны подсвечиваться, а не более 2
3) на листе с исходными наименованиями диапазон A1:A2 также попадает в проверку...3) причина
2) следствие

Пардон, тут лоханулся я, на самом деле ты прав:
надо...
1) поменять 2 на 1
2) вывести список из зоны поражения

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34335034
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeggasadИ ещё что за птица такая этот лист макросов, чем он отличается от обычного и почему он не отображается в VBA?Лист макросов - это прародитель VBA Editor. Использовался для хранения формул содержащих код XLM (вместо VBA) и DialogSheets (вместо UserForms)

Код: plaintext
1.
2.
Sub test()
    Worksheets.Add , , , xlExcel4MacroSheet
End Sub

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34335383
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)

Deggasad Касательно условного форматирования:
1) С апострофами заработало! - интересно почему, т.е. не почему с апострофами заработало, а почему у меня с апострофами, а увас без оных?Потому, что...

1. имя моего первоначального файла и имена листов не содержали ни пробелов ни скобок

2. если имена листов и/или файла содержат пробелы или скобки, все это должно заключаться в апострофы:
'[Example(1).xls]Sheet1'!

KL
[MVP - Microsoft Excel]

Я просто думал что вы прислали файл в котором у вас всё работает, он то со скобками. Я честно говоря про пробелы знал конечно, а вот про скобки нет, просто никогда не использовал скобки в именах листов.





KL (XL) DeggasadИ ещё что за птица такая этот лист макросов, чем он отличается от обычного и почему он не отображается в VBA?Лист макросов - это прародитель VBA Editor. Использовался для хранения формул содержащих код XLM (вместо VBA) и DialogSheets (вместо UserForms)

Код: plaintext
1.
2.
Sub test()
    Worksheets.Add , , , xlExcel4MacroSheet
End Sub

KL
[MVP - Microsoft Excel]

Я имел ввиду почему в окне Project Explorer редактора VBA не видно такого объекта как лист макросов.

А вот интересно можно импользовать листы макросов для обычных расчёв (вместо обычных листов) там и макрофункции применять можно или тут какая-то закавырка, минусы, недостатки?

В целом спасибо большое!
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34338238
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeggasadЯ просто думал что вы прислали файл в котором у вас всё работает, он то со скобками.Нет, он без скобок. Скобки у него появляются после [скачивания и] открытия напрямую из Internet Explorer.

DeggasadЯ имел ввиду почему в окне Project Explorer редактора VBA не видно такого объекта как лист макросов.Не знаю - так уж он устроен, все же объект то устаревший и существует в нынешних версиях в целях обратной совместимости :-)

DeggasadА вот интересно можно импользовать листы макросов для обычных расчёв (вместо обычных листов) там и макрофункции применять можно или тут какая-то закавырка, минусы, недостатки?Не пробовал, но не вижу почему бы этого нельзя было сделать.

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Проверка ввода дублированных значений
    #34338375
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL) DeggasadЯ просто думал что вы прислали файл в котором у вас всё работает, он то со скобками.Нет, он без скобок. Скобки у него появляются после [скачивания и] открытия напрямую из Internet Explorer.

DeggasadЯ имел ввиду почему в окне Project Explorer редактора VBA не видно такого объекта как лист макросов.Не знаю - так уж он устроен, все же объект то устаревший и существует в нынешних версиях в целях обратной совместимости :-)

DeggasadА вот интересно можно импользовать листы макросов для обычных расчёв (вместо обычных листов) там и макрофункции применять можно или тут какая-то закавырка, минусы, недостатки?Не пробовал, но не вижу почему бы этого нельзя было сделать.

KL
[MVP - Microsoft Excel]

Спасибо!
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Проверка ввода дублированных значений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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