Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сопоставление диапозонов для синхронизации заливки - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Сопоставление диапозонов для синхронизации заливки
mlader Дата: Четверг, 13.03.2014, 12:53 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 4 ±
Замечаний: 20% ±

Excel 2007
Друзья, здравствуйте.

В файле два листа. Один - старый, другой - свежий. Значимая информация хранится в форме заливки.

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

Наведите на нужный след:
- Какими инструментами в VBA осуществить сопоставление диапозонов?
- Каким образом сообщить процедуре диапозоны для синхронизации? Инпутбокс? Что-то иное?

Буду рад, если направите в нужное русло советами и полезными ссылками. Спасибо!
К сообщению приложен файл: 0619660.xls (18.0 Kb)
 
Ответить
СообщениеДрузья, здравствуйте.

В файле два листа. Один - старый, другой - свежий. Значимая информация хранится в форме заливки.

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

Наведите на нужный след:
- Какими инструментами в VBA осуществить сопоставление диапозонов?
- Каким образом сообщить процедуре диапозоны для синхронизации? Инпутбокс? Что-то иное?

Буду рад, если направите в нужное русло советами и полезными ссылками. Спасибо!

Автор - mlader
Дата добавления - 13.03.2014 в 12:53
igrtsk Дата: Четверг, 13.03.2014, 13:33 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 323
Репутация: 52 ±
Замечаний: 0% ±

Excel 2016
М-м-м... не совсем понятное объяснение.
То есть надо значения из листа2, имеющиеся в ячейках с синей заливкой перенести в таблицу на лист1 ? Я правильно понял!?


Инструктор по применению лосей в кавалерийских частях РККА
 
Ответить
СообщениеМ-м-м... не совсем понятное объяснение.
То есть надо значения из листа2, имеющиеся в ячейках с синей заливкой перенести в таблицу на лист1 ? Я правильно понял!?

Автор - igrtsk
Дата добавления - 13.03.2014 в 13:33
mlader Дата: Четверг, 13.03.2014, 14:44 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 4 ±
Замечаний: 20% ±

Excel 2007
Необходимо перенести только заливку.
Чтобы было понятнее, значения - это по сути денежные суммы, заливка - это статус суммы (ожидается, поступила и т.д.)
 
Ответить
СообщениеНеобходимо перенести только заливку.
Чтобы было понятнее, значения - это по сути денежные суммы, заливка - это статус суммы (ожидается, поступила и т.д.)

Автор - mlader
Дата добавления - 13.03.2014 в 14:44
igrtsk Дата: Четверг, 13.03.2014, 15:00 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 323
Репутация: 52 ±
Замечаний: 0% ±

Excel 2016
Хм, если надо перенести только цвет заливки, при том, что таблицы по содержанию данных идентичны. То почему бы не воспользоваться инструментом "Формат по образцу"
Копируем форматы исходной таблицы/столбца образца на листе2 и переносим на аналогичный диапазон листа1


Инструктор по применению лосей в кавалерийских частях РККА

Сообщение отредактировал igrtsk - Четверг, 13.03.2014, 15:01
 
Ответить
СообщениеХм, если надо перенести только цвет заливки, при том, что таблицы по содержанию данных идентичны. То почему бы не воспользоваться инструментом "Формат по образцу"
Копируем форматы исходной таблицы/столбца образца на листе2 и переносим на аналогичный диапазон листа1

Автор - igrtsk
Дата добавления - 13.03.2014 в 15:00
Hugo Дата: Четверг, 13.03.2014, 15:23 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3859
Репутация: 819 ±
Замечаний: 0% ±

365
Да, по примеру оптимальный ответ один - копировать формат из одного диапазона в второй.
Или можно макросом сравнивать суммы и копировать формат ячейки - т.к. сумм всего 2 и они не повторяются.
Подозреваю, что рабочий файл будет совсем другой...


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеДа, по примеру оптимальный ответ один - копировать формат из одного диапазона в второй.
Или можно макросом сравнивать суммы и копировать формат ячейки - т.к. сумм всего 2 и они не повторяются.
Подозреваю, что рабочий файл будет совсем другой...

Автор - Hugo
Дата добавления - 13.03.2014 в 15:23
mlader Дата: Четверг, 13.03.2014, 16:54 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 4 ±
Замечаний: 20% ±

Excel 2007
Инструмент с веником, копированием форматов и специальной вставкой не подходит, к сожалению:-)
По критерию суммы тоже не подходит. Рабочий файл, как всегда это бывает, большой, суммы многократно повторяются, и нюансов в этом файле целая гора, дело не в секретности, просто сложнее объяснить всё.

Мой ход мысли заключался в следующем:
В спинном мозге где-то засело, что ячейки в диапозоне как бы пронумерованы (в диапозоне A1:B2, например, A1 = 1-я ячейка, B1 = 2-я, A2 = 3-я, B2 = 4-я); соответственно, если даипозоны совпадают, то 2-я ячейка первого и второго диапозонов будут совпадать. Вероятно, можно как-то вернуть номер ячейки одного диапозона с синей заливкой (допустим, она вторая) и отформатировать вторую ячейку другого диапозона по образу и подобию.
Но непонятно:
- Как сообщить процедуре диапозон;
- Как вернуть номер ячейки из диапозона;
- Как связать два диапозона (хотя это наименее непонятное, если знать ответы на предыдущие вопросы).

В попытках выгуглить нужное иссяк совершенно, не знаю где искать ответ на разгадку...
 
Ответить
СообщениеИнструмент с веником, копированием форматов и специальной вставкой не подходит, к сожалению:-)
По критерию суммы тоже не подходит. Рабочий файл, как всегда это бывает, большой, суммы многократно повторяются, и нюансов в этом файле целая гора, дело не в секретности, просто сложнее объяснить всё.

Мой ход мысли заключался в следующем:
В спинном мозге где-то засело, что ячейки в диапозоне как бы пронумерованы (в диапозоне A1:B2, например, A1 = 1-я ячейка, B1 = 2-я, A2 = 3-я, B2 = 4-я); соответственно, если даипозоны совпадают, то 2-я ячейка первого и второго диапозонов будут совпадать. Вероятно, можно как-то вернуть номер ячейки одного диапозона с синей заливкой (допустим, она вторая) и отформатировать вторую ячейку другого диапозона по образу и подобию.
Но непонятно:
- Как сообщить процедуре диапозон;
- Как вернуть номер ячейки из диапозона;
- Как связать два диапозона (хотя это наименее непонятное, если знать ответы на предыдущие вопросы).

В попытках выгуглить нужное иссяк совершенно, не знаю где искать ответ на разгадку...

Автор - mlader
Дата добавления - 13.03.2014 в 16:54
RAN Дата: Четверг, 13.03.2014, 18:17 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
- Как сообщить процедуре диапозон;

[vba]
Код
set r =
[/vba]
- Как вернуть номер ячейки из диапозона;

не волне корректно, ибо номер двумерен
[vba]
Код
r.Cells(x,y)
[/vba]
- Как связать два диапозона

да хто его знает, это вам
это наименее непонятное, если знать ответы на предыдущие вопросы


А с таким примером, даже пытаться гадать не стоит.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
- Как сообщить процедуре диапозон;

[vba]
Код
set r =
[/vba]
- Как вернуть номер ячейки из диапозона;

не волне корректно, ибо номер двумерен
[vba]
Код
r.Cells(x,y)
[/vba]
- Как связать два диапозона

да хто его знает, это вам
это наименее непонятное, если знать ответы на предыдущие вопросы


А с таким примером, даже пытаться гадать не стоит.

Автор - RAN
Дата добавления - 13.03.2014 в 18:17
mlader Дата: Понедельник, 07.04.2014, 13:55 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 4 ±
Замечаний: 20% ±

Excel 2007
Решил свою задачу, хочу поделиться её решением.



Всё оказалось довольно просто.

Основная задача: перенести только нужную заливку из одного листа в другой (в данном случае только синий и желтый).

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


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

Через InputBox указывается нужный диапозон. Очень полезная штука:
Set rStar = Application.InputBox(prompt:="Укажите диапозон из старого листа ", Type:=8)

Буду дорабатывать, чтобы вообще ничего не указывать вручную, чтобы диапозоны устанавливались автоматически. Но инуптбокс тайп 8 - крайне полезная весчь сам по себе.

Надеюсь, кому-то может пригодиться.
К сообщению приложен файл: PrimerDljaForum.xls (64.0 Kb)


Сообщение отредактировал mlader - Понедельник, 07.04.2014, 14:02
 
Ответить
СообщениеРешил свою задачу, хочу поделиться её решением.



Всё оказалось довольно просто.

Основная задача: перенести только нужную заливку из одного листа в другой (в данном случае только синий и желтый).

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


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

Через InputBox указывается нужный диапозон. Очень полезная штука:
Set rStar = Application.InputBox(prompt:="Укажите диапозон из старого листа ", Type:=8)

Буду дорабатывать, чтобы вообще ничего не указывать вручную, чтобы диапозоны устанавливались автоматически. Но инуптбокс тайп 8 - крайне полезная весчь сам по себе.

Надеюсь, кому-то может пригодиться.

Автор - mlader
Дата добавления - 07.04.2014 в 13:55
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!