С Новым годом! Форум программистов, компьютерный форум, киберфорум
MS Office Excel
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
1 / 1 / 0
Регистрация: 29.03.2013
Сообщений: 181

Сравнить значения ячеек в разных файлах

18.11.2017, 12:08. Показов 1708. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
добрый день!
задача такая: есть табличка. все значения в ней вводятся вручную
каждую неделю создаю такой же файл и заполняю.

нужно сравнить значение ячейки файла с значением ячейки в файле предыдущей недели.

все файлы лежат в одной директории. из названия файла должно быть понятно на какой период этот файл. Например: 2017-11-18. или что-то в этом роде
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.11.2017, 12:08
Ответы с готовыми решениями:

Сравнить два столбца в двух разных файлах MS Excel
Добрый день ув.форумчане! Нужна ваша помощь. Передо мной стоит задача написать макрос который сравнит два столбца в двух разных файлах...

Необходимо сравнить ячейки столбцов в разных файлах и при совпадении заменить значение
Собственно сама задача. Есть два файла, "Заказы" и "Услуги Диагностика". Необходимо сравнить столбец "Специальность" из файла...

Поиск значения в Таблицах в разных файлах Excel
Доброго времени суток. Работаю в компании, которая занимается ежедневными продажами. В процессе создания отчета по продожам...

6
Эксперт Hardware
 Аватар для Linoge
3205 / 1915 / 324
Регистрация: 25.10.2011
Сообщений: 5,564
18.11.2017, 12:25
Ссылка на другую книгу =[Книга1.xlsx]Лист1!$A$1
0
1 / 1 / 0
Регистрация: 29.03.2013
Сообщений: 181
18.11.2017, 12:27  [ТС]
вручную формулу каждый раз исправлять?
0
Эксперт Hardware
 Аватар для Linoge
3205 / 1915 / 324
Регистрация: 25.10.2011
Сообщений: 5,564
18.11.2017, 15:05
Можно и в ножную.
Пусть имя файла будет датой 11.11.2017.xlsx и 18.11.2017.xlsx
Получение имени предыдущего файла
Code
1
=ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xlsx]";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1)-7
обращение к ячейке А1 Лист1
Code
1
=ДВССЫЛ("["&ТЕКСТ(A1;"ДД.ММ.ГГГГ")&".xlsx]Лист1!$A$1")
0
1 / 1 / 0
Регистрация: 29.03.2013
Сообщений: 181
18.11.2017, 16:39  [ТС]
лучше, если файл будет 2017.11.11 и 2017.11.18. так проще сортировать
0
Эксперт Hardware
 Аватар для Linoge
3205 / 1915 / 324
Регистрация: 25.10.2011
Сообщений: 5,564
18.11.2017, 22:00
В принципе тоже самое, только формат ячейки с первой формулой сделать ГГГГ.ММ.ДД
И во второй поправить
Code
1
=ДВССЫЛ("["&ТЕКСТ(A1;"ГГГГ.ММ.ДД")&".xlsx]Лист1!$A$1")
кстати если нужно чтобы работало без открытия старого файла то писать там нужно полный путь.
И если в пути будут пробелы то путь, имя и лист, без ! обрамить одинарными кавычками.
0
 Аватар для Estimable
195 / 14 / 1
Регистрация: 02.01.2017
Сообщений: 208
19.11.2017, 17:45
Открой оба файла
в новом файле включи макро рекордер
переключись на старый и попробуй скопировать что-нибудь с ячейки старой книги в новую
нажми стоп на макрорекордере
в коде посмотри как идёт обращение к старой книге

Запиши код (написаный ниже) под написанымми строчками
в обоих документах выдели нужные ячейки
запусти макрос - он должен показать равны ли значения или нет


PureBasic
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
sub макрос1()
dim x_new as integer
dim y_new as integer 'эти четыре переменные вмещающие целые числа до 32 тысяч с хвостиком
dim x_old as integer   'нужны для ориентации по листам как по координатам x и y
dim y_old as integer
 
 
dim old_value as string  'сюда сложатся значение ячейки старого листа
dim new_value as string 'сюда значение ячейки нового листа
 
 
Windows("New_LIST.xlsx").sheets("Лист1").select 'активизируем новый лист
 
x_new=activecell.column 'определим из какой ячейки будем брать данные ( сейчас из той, которая выделена)
y_new=activecell.row
 
Windows("OLD_LIST.xlsx").sheets("Лист1"). 'переключимся на следующий лист
 
x_old=activecell.column 'определим из какой ячейки будем брать данные ( сейчас из той, которая выделена)
y_old=activecell.row
 
 
 
 
'       это твой старый документ       это лист в нём        это в нём ячейка н.р. A1(или 1,1 если в координатах)
' напиши тут как он называется    тут название листа
'                               V                             v                            v
old_value = Windows("OLD_LIST.xlsx").sheets("Лист1").cells(y_old,x_old) 'загружаем значения ячеек
 
 
Windows("New_LIST.xlsx").sheets("Лист1").select
 
'       это твой новый документ       это лист в нём        это в нём ячейка н.р В2(или 2,2 если в координатах)
' напиши тут как он называется    тут название листа
'                               V                             v                            v
new_value= Windows("New_LIST.xlsx").sheets("Лист1").cells(y_new,x_new)
 
 
 
 
 
 
 
if old_value <> new_value then goto Neravn 'сравниваем ячейки, если не равны то идём на метку Neravn
 
'''''''''''''''здесь надо написать действие если ячейки равны''''''''''''''''''''''''''''
MsgBox ("Ячейки равны")'например окошко покажет тебе эту надпись
goto exitt
 
'''''''''''''''''''здесь написать если ячейки не равны'''''''''''''''''''''''''''''''''''''''''''''''''''
Neravn:
MsgBox ("Ячейки равны")'здесь тоже покажет надпись
 
 
 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
exitt:
end sub

Если тебе много ячеек проверить, то пишется цикл, можно чтобы макрос сам открывал и закрывал старый документ
Эту програмку можно включать комбинацией клавиш или если разместить кнопку прямо на листе

Это всё для общего случая, нужна частность.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.11.2017, 17:45
Помогаю со студенческими работами здесь

Постоянные значения для использования в разных файлах
в работе постоянно делаю заключения по предоставленным данным и по сути в отдельную колонку вставляю один и тот же текст. можно ли...

Как изменить значения одного параметра в разных файлах
Задача простенькая, но я далек от программирования и всем что связано с этим. Дело вот в чем, есть у меня папка, в этой папке файлы,...

полу значения переменных из классов с одинаковыми именами, хранящимися в разных файлах
Добрый день всем. Возникла такая задача. Есть несколько файлов: config_1.php, config_2.php, config_3.php. В каждом из них есть класс с...

Соединить значения из двух других ячеек,разных форматов
Здравствуйте! Подскажите формулу в ячейку A1 (формат ячейки Общий) которая скрепит значения из двух других ячеек B1 и C1. В ячейке B1...

Сравнить два столбца на разных листах. Вывести на Лист3 не совпадающие значения
Private Sub CommandButton3_Click() For I = 2 To 250 For j = 1 To 110 Sheets(&quot;Результат&quot;).Cells(I, j) = &quot;&quot; Next j Next...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru