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

Вход

Регистрация

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

 

= Мир MS Excel/Сравнить ячейки с диапазоном указанным в эталоне и записать - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин, _Boroda_  
Сравнить ячейки с диапазоном указанным в эталоне и записать
RAN Дата: Вторник, 24.04.2012, 17:05 | Сообщение № 21
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Сравнили. Совпало. Что дальше?
Сколько не пытался понять, в чем идея, так и не понял.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеСравнили. Совпало. Что дальше?
Сколько не пытался понять, в чем идея, так и не понял.

Автор - RAN
Дата добавления - 24.04.2012 в 17:05
dr_ZmeY Дата: Вторник, 24.04.2012, 17:21 | Сообщение № 22
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 0% ±

Quote (RAN)
Сравнили. Совпало. Что дальше?
Сколько не пытался понять, в чем идея, так и не понял.

Записать количество совпадений...
[vba]
Code
Option Explicit

Private Sub Worksheet_Activate()
Dim Sh As Worksheet, Clmn1 As Range, TCell As Range
Dim Arr1(), Arr2(), V1
Dim S() As Double
Dim N As Long, J As Long, K As Long
'
Set Clmn1 = Range(Me.Range("I1"), Me.Range("I1").End(xlDown))
Arr1 = Clmn1.Value
N = Clmn1.Rows.Count
ReDim S(1 To N, 1 To 1)
For Each Sh In Worksheets
If Not Sh Is Me Then
Set TCell = Sh.Range("J22")
Arr2 = Sh.Range(TCell, TCell.End(xlDown)).Value
For J = 1 To UBound(Arr2, 1)
V1 = Arr2(J, 1)
For K = 1 To N
If V1 = Arr1(K, 1) Then S(K, 1) = S(K, 1) + 1
Next
Next
End If
Next
Clmn1.Offset(0, 1).Value = S
End Sub
[/vba]
Вот код листа "График", но работает жутко медленно и криво sad
 
Ответить
Сообщение
Quote (RAN)
Сравнили. Совпало. Что дальше?
Сколько не пытался понять, в чем идея, так и не понял.

Записать количество совпадений...
[vba]
Code
Option Explicit

Private Sub Worksheet_Activate()
Dim Sh As Worksheet, Clmn1 As Range, TCell As Range
Dim Arr1(), Arr2(), V1
Dim S() As Double
Dim N As Long, J As Long, K As Long
'
Set Clmn1 = Range(Me.Range("I1"), Me.Range("I1").End(xlDown))
Arr1 = Clmn1.Value
N = Clmn1.Rows.Count
ReDim S(1 To N, 1 To 1)
For Each Sh In Worksheets
If Not Sh Is Me Then
Set TCell = Sh.Range("J22")
Arr2 = Sh.Range(TCell, TCell.End(xlDown)).Value
For J = 1 To UBound(Arr2, 1)
V1 = Arr2(J, 1)
For K = 1 To N
If V1 = Arr1(K, 1) Then S(K, 1) = S(K, 1) + 1
Next
Next
End If
Next
Clmn1.Offset(0, 1).Value = S
End Sub
[/vba]
Вот код листа "График", но работает жутко медленно и криво sad

Автор - dr_ZmeY
Дата добавления - 24.04.2012 в 17:21
dr_ZmeY Дата: Вторник, 24.04.2012, 17:44 | Сообщение № 23
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 0% ±

ААААААА!!! Блин, проблема с другим кодом... Этот заработал, но, собака медленно. На генерируемые листы дата выводится не правильно.
Код в модуле... Может там ошибка? Для первого сгенерированного листа даты выводятся, но, как текст, для последующих - выводятся нули, поэтому и счётчик не работал...
К сообщению приложен файл: 4635756.xlsm (75.2 Kb)
 
Ответить
СообщениеААААААА!!! Блин, проблема с другим кодом... Этот заработал, но, собака медленно. На генерируемые листы дата выводится не правильно.
Код в модуле... Может там ошибка? Для первого сгенерированного листа даты выводятся, но, как текст, для последующих - выводятся нули, поэтому и счётчик не работал...

Автор - dr_ZmeY
Дата добавления - 24.04.2012 в 17:44
RAN Дата: Вторник, 24.04.2012, 21:05 | Сообщение № 24
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Да посчитать-то как раз проще всего.
Пишем все даты эталона в массив (словарь)
Проверяем все даты из других листов.
Совпало - счетчик щелкнул.
Хорошо... smile
А вот что дальше делать? dry


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеДа посчитать-то как раз проще всего.
Пишем все даты эталона в массив (словарь)
Проверяем все даты из других листов.
Совпало - счетчик щелкнул.
Хорошо... smile
А вот что дальше делать? dry

Автор - RAN
Дата добавления - 24.04.2012 в 21:05
dr_ZmeY Дата: Вторник, 24.04.2012, 22:21 | Сообщение № 25
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 0% ±

Quote (RAN)
А вот что дальше делать?

Да проблема уже не со счётчиком, он работает, хоть и криво. Проблема с кодом в модуле, который генерирует массивы дат, из которых потом сравниваем. Не пойму что там не так... На первый сгенерированный лист даты пишет, но в формате текста, так что потом счётчик их не читает. На второй и последующие листы - пишет нули...
 
Ответить
Сообщение
Quote (RAN)
А вот что дальше делать?

Да проблема уже не со счётчиком, он работает, хоть и криво. Проблема с кодом в модуле, который генерирует массивы дат, из которых потом сравниваем. Не пойму что там не так... На первый сгенерированный лист даты пишет, но в формате текста, так что потом счётчик их не читает. На второй и последующие листы - пишет нули...

Автор - dr_ZmeY
Дата добавления - 24.04.2012 в 22:21
RAN Дата: Среда, 25.04.2012, 16:12 | Сообщение № 26
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Где-то, что-то, как-то... так.
К сообщению приложен файл: 8550363.xlsm (73.1 Kb)


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеГде-то, что-то, как-то... так.

Автор - RAN
Дата добавления - 25.04.2012 в 16:12
dr_ZmeY Дата: Четверг, 26.04.2012, 15:53 | Сообщение № 27
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 0% ±

Quote (RAN)
Где-то, что-то, как-то... так.

Ок... Можно подробнее, что там сделано? При генерации листов выползают ошибки, смотрю столбцы перемещены...
 
Ответить
Сообщение
Quote (RAN)
Где-то, что-то, как-то... так.

Ок... Можно подробнее, что там сделано? При генерации листов выползают ошибки, смотрю столбцы перемещены...

Автор - dr_ZmeY
Дата добавления - 26.04.2012 в 15:53
RAN Дата: Четверг, 26.04.2012, 21:13 | Сообщение № 28
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Я уже писал
Quote (RAN)
Сколько не пытался понять, в чем идея, так и не понял.

Столбцы не перемещены, а просто я создал параллельный столбец дат, из которого выкинуты праздники.
Генерация листов - полностью Ваш код (вместе с тараканами).
( в смысле что и куда пихать)
Генерится только Шаблон, Проект не трогал.
В общем - тема для размышления.


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Четверг, 26.04.2012, 21:15
 
Ответить
СообщениеЯ уже писал
Quote (RAN)
Сколько не пытался понять, в чем идея, так и не понял.

Столбцы не перемещены, а просто я создал параллельный столбец дат, из которого выкинуты праздники.
Генерация листов - полностью Ваш код (вместе с тараканами).
( в смысле что и куда пихать)
Генерится только Шаблон, Проект не трогал.
В общем - тема для размышления.

Автор - RAN
Дата добавления - 26.04.2012 в 21:13
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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