|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.05.2009, 00:30 | #1 |
Пользователь
Регистрация: 10.02.2009
Сообщений: 15
|
Скопировать значение из определённой ячейки ТЕКУЩЕЙ СТРОКИ в определённую ячейку другого листа
Здравствуйте! Так как только начинаю осваивать excel, есть вопрос, на который, наверняка, вы сможете мне помочь найти ответ.
Требуется скопировать значение из определённой ячейки ТЕКУЩЕЙ СТРОКИ в определённую ячейку другого листа. Пробовал писать макрос и смотреть код - идёт привязка к конкретной строке (откуда копируем). А надо так: скопировали значение из ячейки текущей строки. Потом вручную переместились курсором НА СТРОКУ НИЖЕ и скопировали значение из ячейки, опять вставили это на другой лист. |
19.05.2009, 00:45 | #2 |
Форумчанин
Регистрация: 23.11.2008
Сообщений: 237
|
В екселе есть функция называеться "автозаполнение", может вам луше ей воспользоваться?
Если мой ответ вам понравился, поставьте позитивный отзыв
|
19.05.2009, 00:56 | #3 | |
Пользователь
Регистрация: 10.02.2009
Сообщений: 15
|
Цитата:
Если точнее - первый лист из себя представляет огромную таблицу. Наша задача - выбрать из текущей строки (там, где стоит курсор, не мыши) данные из определённых ячеек и вставить их на другой лист в строго определённые ячейки, который из себя представляет что-то вроде красивой формы, готовой для печати. |
|
19.05.2009, 01:35 | #4 |
Пользователь
Регистрация: 10.02.2009
Сообщений: 15
|
Пока пошёл по такому пути (отрывок из кода):
'Копируем номер карточки Sheets("Пожары").Select ActiveCell.Copy Sheets("Данные для карточки").Select Range("B2").Select ActiveSheet.Paste 'Копируем дату пожара Sheets("Пожары").Select ActiveCell.Offset(0, 1).Copy Sheets("Данные для карточки").Select Range("B3").Select ActiveSheet.Paste Что напрягает, что ячейка копируется целиком, а надо только содержимое ячейки скопировать. Что подскажете? |
19.05.2009, 01:47 | #5 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
'Копируем дату пожара
Sheets("Данные для карточки").Range("B3").Value = Sheets("Пожары").ActiveCell.Offset( 0, 1).Value
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
19.05.2009, 01:50 | #6 |
Пользователь
Регистрация: 10.02.2009
Сообщений: 15
|
Игорь, спасибо Большое! Обязательно оптимизирую код. Главное сейчас - чтобы механизм заработал. А он вроде как работает, урра! Теперя, главное, разобраться, как сделать так, чтобы копировалась ячейка без форматирования (только значение).
|
19.05.2009, 01:55 | #7 | |
Пользователь
Регистрация: 10.02.2009
Сообщений: 15
|
Цитата:
Ээээ. Рано поспешил. Появилась ошибка при использовании выражения Sheets("Данные для карточки").Range("B3").Value = Sheets("Пожары").ActiveCell.Offset( 0, 1).Value "Объект не поддерживает это свойство или метод" (перевёл с инглиша). |
|
19.05.2009, 02:35 | #8 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Код:
А если надо копировать содержимое из ячейки определённого столбца (независимо от того, в каком столбце расположена выделенная ячейка), то используйте такой код: Код:
--------- вдруг кому пригодится -------------- Цитата:
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 30.09.2013 в 09:38. |
|
19.05.2009, 03:04 | #9 |
Пользователь
Регистрация: 10.02.2009
Сообщений: 15
|
У меня всё-всё-всё получилось! Я достиг цели, не жалею потраченных сил и времени. Теперь моя повседневная работа будет продвигаться гораздо быстрее! Ура! Всем спасибо за советы!
Единственное, что осталось для косметических штрихов - сделать так, чтобы ячейки при копировании теряли форматировании (точнее - только оформление жирным шрифтом, выравнивание, размер шрифта, границы). И ещё хотелось бы сделать так, чтобы макрос проверял при старте, что первоначально курсор находится в нужном столбце, а то ведь если не в том месте будет стоять, то данные (мы же смещение используем) будут неверны. В общем, хочется изваять код, который проверял, находится-ли курсор в 4-м столбце. Если нет - выдавал информационное окошко с просьбой поставить курсор куда надо и останавливал выполнение макроса. Или по-другому сделать - чтобы макрос сам ставил курсор в 4-й столбец ТЕКУЩЕЙ строки. Это выполнимо? |
19.05.2009, 03:10 | #10 |
Пользователь
Регистрация: 10.02.2009
Сообщений: 15
|
Хочу похвастаться результатами. ))
На скриншотах исходная таблица с данными и конечный продукт, подготовленный для печати. А на третьем изображении как раз промежуточный лист, куда заносим данные из таблицы при помощи макрокода. Последний раз редактировалось Павел-812; 19.05.2009 в 03:23. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Очистить значения после определённой ячейки | Sorro | Microsoft Office Excel | 1 | 08.05.2009 12:03 |
Трёхуровневый выпадающий список по выборке с другого листа | Constantinich | Microsoft Office Excel | 6 | 06.04.2009 11:28 |
Значение ячейки по названию листа | VadimSh | Microsoft Office Excel | 4 | 02.12.2008 15:29 |
с помощью макроса скопировать значение всей строки(не одной ячейки, а нескольких) | global | Microsoft Office Excel | 6 | 27.11.2008 17:43 |
Автоматическое заполнение данных из другого листа | usgaz@list.ru | Microsoft Office Excel | 8 | 17.10.2008 10:41 |