Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 18.07.2019
Сообщений: 2
Excel

Поиск повторяющихся значений в нескольких книгах Excel

18.07.2019, 09:18. Показов 1434. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, на форуме впервые и с VBA знаком мало. Требуется помощь с решением следующего вопроса:
Есть на сетевом диске папка с несколькими таблицами Excel. Таблицы имеют одинаковые столбцы. Стоит макрос на поиск повторяющихся значений по одному из столбцов книги Excel. Соответственно один и тот же макрос прописан в каждой книге Excel и соответственно следит чтобы не было повторов в открытой книге. А как сделать так, чтобы повторы контролировались не только в одной книге Excel, а во всех? Иными словами, как преобразовать текущий макрос так, чтобы он следил за повторами не только в одной книге, а во всех которые есть, например, в папке? Но усложняется еще это тем, что желательно чтобы в случае если повтор был обнаружен, то при помощи того же MsgBox показывало в какой книге это значение уже есть.

Добавлено через 34 секунды
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("G:H")) Is Nothing Then
 
        If Application.CountIf(Range("G:H"), Target) > 1 Then
            Select Case MsgBox("Значение" & vbCrLf & vbCrLf _
                               & Target & vbCrLf & vbCrLf _
                               & "уже есть в диапазоне!" & vbCrLf & vbCrLf _
                               & "Уверены?", vbYesNo + vbQuestion, "Проверка ввода")
            Case vbYes
                Exit Sub
            Case vbNo
                Target.ClearContents
                Target.Select
            End Select
 
        End If
    End If  
End Sub
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.07.2019, 09:18
Ответы с готовыми решениями:

Поиск информации в нескольких книгах
Помогите, плз=( В папке есть несколько книг Excel, в каждой из которых хранится информация о заработной плате каждого сотрудника за...

Поиск дубликатов в нескольких книгах
Суть проблемы. Есть порядка 100 книг Excel (и это число постоянно растет). В каждой книге заполняются столбцы A и B по принципу "дата...

Поиск вложенных файлов в книгах Excel 2010
Здравствуйте. Возникла проблема с открытием вложенных файлов. Есть целая база нормативных документов(в формате xls). В некоторых...

2
35 / 30 / 6
Регистрация: 21.08.2015
Сообщений: 121
18.07.2019, 22:38
Привет!

Прототип во вложении.

 Комментарий модератора 
Ув. tMash!
ваше программа умудрилась открыть базу ACCESS
поэтому я не уверена, что запуск программы БЕЗОПАСЕН ДЛЯ ЭКСПЕРИМЕНТОВ

вложение удалила, до проверки логики программы


посмотрела код(частично) --замечания в комментах
Visual Basic
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
Sub Каталог_Цикл_Тест()  '''' такая же процедура есть в модуле класса
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' procedure Checked by test опосредованно
'
'  Каталог_Цикл.Class_Initialize ' обновить счётчик
    Dim sMsg As String
    With Каталог_Цикл
        Do
        '' так как сканируются все файлы/подфайлы, то поведение программы непредсказуемо
            sMsg = .Файл_Путь_Полный(ThisWorkbook.Path, "*.*", 4)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            Debug.Print sMsg
            Sheets_All sMsg
        Loop While sMsg <> vbNullString
        .Class_Initialize
 
    End With
End Sub
 
Function Sheets_All(s As String) As String
' procedure NOT checked by test
    Dim wb As Workbook
    Dim ws As Worksheet
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''следующая строка открывает аксесс и все, что осилит
    Set wb = Workbooks.Open(s)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    For Each ws In wb.Worksheets
        Range_Walk ws
    Next
    wb.Close True
End Function
0
0 / 0 / 0
Регистрация: 18.07.2019
Сообщений: 2
05.08.2019, 12:50  [ТС]
tmash, Не знаю что это, но это не работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.08.2019, 12:50
Помогаю со студенческими работами здесь

Поиск и пометка повторяющихся значений
Доброго дня, Господа ! Помогите мне, пожалуйста, определится с правильным подходом для реализации следующей задачи: Есть столбец с...

VBA Excel сообщение при вводе повторяющихся значений
Доброго времени суток! Уважаемые форумчане, подайте идею как решить следующую задачу: В таблице есть колонка № протокола, формат...

Вынесение значений нескольких Label в одну ячейку Excel
Есть у меня макрос, выносящий данные из формы на лист exel. Все было прекрасно, но необходимо чтобы дата, содержащаяся в 3 разных label...

VBA функция Find поиск нескольких значений в диапазоне
Доброго времени суток! Заранее извиняюсь за неумный вопрос, VBA изучаю недавно. Столкнулась со следующей проблемой: With...

Поиск значений в строках (Excel)
Добрый день всем. Помогите, пожалуйста, решить задачу с помощью макроса в Excel. Есть постоянно пополняемая таблица, в которой первый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru