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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2010, 10:37   #11
robbe
Пользователь
 
Регистрация: 12.01.2010
Сообщений: 28
По умолчанию

SAS888, спасибо Вам! Ваш код еще короче... Я бы очень хотела сама научиться писать такие коды. Читаешь, все понятно, и кажется так просто. Не подскажете, какую хорошую литературу можно изучить, чтобы в короткие сроки начать писать нечто подоное этой задачи. Спасибо.
robbe вне форума Ответить с цитированием
Старый 13.01.2010, 10:48   #12
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Не подскажете, какую хорошую литературу...
1. Воспользуйтесь поиском по форуму. В этом топике неоднократно выкладывались ссылки на литературу по VBA Excel.
2. Для обычных задач, без освоения которых не возможно более глубокое изучение, вполне достаточно Help-а, имеющегося в Excel.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 13.01.2010, 11:00   #13
robbe
Пользователь
 
Регистрация: 12.01.2010
Сообщений: 28
По умолчанию

Спасибо большое.
А не ответите еще на несколько простых вопросов: строка в Вашем коде
Set x = Sheets("обороты").[A:A].Find(what:=Cells(i, 1), LookAt:=xlWhole)
означает присвоить переменной x значение ячейки (i,1), найденное на листе обороты в колонке A?
Что конкретно означает .[A:A]. и LookAt:=xlWhole (смотреть по всему листу)?
И в строке Cells(i, 5) = x.Offset(, 5) что означает пропущенный симвоол (, 5)?
robbe вне форума Ответить с цитированием
Старый 13.01.2010, 11:29   #14
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Set x = Sheets("обороты").[A:A].Find(what:=Cells(i, 1), LookAt:=xlWhole)
Это означает: найти на листе "обороты" в столбце "A" ([A:A] - это укороченная запись Columns("A")) значение ячейки Cells(i, 1) активного листа и присвоить объекту x (обратите внимание, что x As Range) найденную ячейку. Доступны все свойства ячейки (.Row, .Column, .Address и т.п.) свойство .Value - по умолчанию. Опция LookAt метода Find указывает, как искать. Доступные константы: xlWhole - полное совпадение и xlPart - частичное.
Все, что я сейчас написал, есть в Help-е по VBA Excel. При чем, более подробно. Читайте. Изучайте. Переписывать весь Help в ответе никто не будет.

Цитата:
что означает пропущенный симвоол (, 5)?
Пропущен 0. Опять же только из-за того, что так короче и это "понимает" компилятор.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 13.01.2010, 12:03   #15
robbe
Пользователь
 
Регистрация: 12.01.2010
Сообщений: 28
По умолчанию

Еще раз огромное спасибо, SAS888!
robbe вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переход от ссылок к значениям! mephist Microsoft Office Excel 5 10.07.2009 16:01
Запрос к двум базам данных в Delphi 6 Demonk БД в Delphi 8 29.06.2009 12:48
суммирование данных по двум критериям misht Microsoft Office Excel 10 31.03.2009 12:58
Сортировка одной БД по значениям другой Кот из Лета БД в Delphi 4 28.12.2007 13:35
Нарисовать Ellipse по значениям из... Apollo_13 Общие вопросы Delphi 3 17.06.2007 02:53