Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 14.05.2008, 23:35   #41
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

SAS888
При работе, выявились недостатки, самой концепции сверки.
Все объяснения в аттаче.
Вложения
Тип файла: rar N-P.rar (185.8 Кб, 13 просмотров)

Последний раз редактировалось valerij; 15.05.2008 в 02:53.
valerij вне форума
Старый 19.05.2008, 22:06   #42
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Вот как у меня получилось, дюже просто(сам удивляюсь), может не верно?
Но это пол задачи, пояснение в аттаче, файл Prover.xls
Вложения
Тип файла: rar N-2.rar (221.8 Кб, 12 просмотров)
valerij вне форума
Старый 20.05.2008, 07:16   #43
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите вложение. Запустите макрос "Sum".
Сделал для первого листа. Если надо, задайте цикл по нужным листам. Обратите внимание, что поиск ведется не по столбцу "C" листа "НАКЛ", а по столбцу "IU", т.к. в файле-источнике (на ячейки которого идут ссылки) данные находятся в различных (каких попало) форматах.
Вложения
Тип файла: rar Temp.rar (215.2 Кб, 19 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 20.05.2008, 11:43   #44
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Посмотрите вложение. Запустите макрос "Sum".
Сделал для первого листа. Если надо, задайте цикл по нужным листам. Обратите внимание, что поиск ведется не по столбцу "C" листа "НАКЛ", а по столбцу "IU", т.к. в файле-источнике (на ячейки которого идут ссылки) данные находятся в различных (каких попало) форматах.
SAS888
Вообщем сделал цикл, вставил в макрос книги:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
--------------------------------
With Sh.Range("I10:I15").Offset(iCount& * 48)
.FormulaR1C1 = "=IF(COUNTIF(НАКЛ!R2C255:R619C2 55,R[-7]C)>0,R[-7]C,0)"
.Value = .Value
End With

Получилось нормально, т. е. задействован тот период в котором работаешь, очень экономит время, а как сделать, привязать макрос "Sum()", таким же образом??

C и IU я понял, исправлю!

Последний раз редактировалось valerij; 20.05.2008 в 11:47.
valerij вне форума
Старый 20.05.2008, 12:10   #45
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Да просто в конце Вашего цикла (до "End With") можно вставить
Код:
Run "Sum"
Только в коде макроса Sum заменить Sheets(1) на точку (.)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 20.05.2008, 12:22   #46
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Только в коде макроса Sum заменить Sheets(1) на точку (.)
Все, Sheets(1) которые есть в макросе, менять Sheets(.)?
Если да, то красным становится
If Sheets(.).Cells(i, "I") <> "" And Sheets(.).Cells(i, "I") <> 0 _
And Sheets(.).Cells(i, "I").HasFormula Then myCollect _
.Add Sheets(.).Cells(i, "I").Value, CStr(Sheets(.).Cells(i, "I").Value)

Последний раз редактировалось valerij; 20.05.2008 в 12:49.
valerij вне форума
Старый 20.05.2008, 13:15   #47
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Не на Sheets(.), а просто на точку. Например:
Код:
If .Cells(i, "I") <> "" And .Cells(i, "I") <> 0 _
        And .Cells(i, "I").HasFormula Then myCollect _
        .Add .Cells(i, "I").Value, CStr(.Cells(i, "I").Value)
т.е. если With Sh ............. End With, то внутри блока Sh опускаем.
Не Sh.Cells(x, y), а .Cells(x, y)
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 20.05.2008 в 13:19.
SAS888 вне форума
Старый 20.05.2008, 13:33   #48
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Не на Sheets(.), а просто на точку. Например:
Код:
If .Cells(i, "I") <> "" And .Cells(i, "I") <> 0 _
        And .Cells(i, "I").HasFormula Then myCollect _
        .Add .Cells(i, "I").Value, CStr(.Cells(i, "I").Value)
т.е. если With Sh ............. End With, то внутри блока Sh опускаем.
Не Sh.Cells(x, y), а .Cells(x, y)
SAS888!
Все равно, ошибка, блин
Compile error:
Invalid or unqualified reference
(Компилируйте ошибку:
Нетрудоспособная или неквалифицированная ссылка)

Последний раз редактировалось valerij; 20.05.2008 в 13:43.
valerij вне форума
Старый 20.05.2008, 14:03   #49
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Прошу прощения. Нужно в процедуру Sum передавать параметр Sh.
Это можно сделать, например, так:
Код:
Sub Ваш_макрос()

    Dim Sh As Worksheet
'
'
'Я не знаю, как у Вас организован цикл по нужным листам
'поэтому, пусть есть массив MyArray() с именами нужных листов
'Тогда так:
'
    For i = LBound(MyArray) To UBound(MyArray)
        Set Sh = ActiveWorkbook.Sheets(MyArray(i))
        Call Sum(Sh) 'Вызов подпрограммы Sum с параметром Sh
    Next

End Sub

Sub Sum(Sh) 'Это сама подпрограмма

'Например

    With Sh
        .Cells(1, 1) = 111 'Ввод в ячейку "A1" значения 111
        .Cells(2, 2) = 222 'Ввод в ячейку "B2" значения 222
    End With

End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 20.05.2008, 14:20   #50
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

SAS888
О!!!
Темень.
Вставь, пожалуйста САМ, тебе это секунды
Вложения
Тип файла: rar Temp1.rar (218.1 Кб, 11 просмотров)

Последний раз редактировалось valerij; 20.05.2008 в 14:30.
valerij вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление громкостью Jupiter Общие вопросы Delphi 2 29.06.2008 15:43
Управление голосом prizrak1390 Общие вопросы Delphi 2 24.06.2008 21:04
управление CD ROMom Cricket2007 Помощь студентам 4 16.06.2008 16:01
Управление приложениями voron29 Общие вопросы Delphi 1 14.03.2008 12:38
вопрос - проблема с форматированием prickly Microsoft Office Excel 2 14.11.2006 10:14