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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2009, 22:16   #1
zander
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 113
По умолчанию Почему не работает простейший макрос?

Всего и надо то по нажатию кнопки скопировать цифру из одной ячейки листа1 в ячейку Листа3. Но, не исполняется пишет что, application -defained or object-defined error. При этом ячейка G25 остается выбранной и ничего не копируется

Sub PriceCopySell()

Sheets("Лист1").Select
Range("G25").Select
Selection.Copy
Sheets("Лист3").Select
Range("D2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets("Лист1").Select
End Sub
zander вне форума Ответить с цитированием
Старый 04.02.2009, 22:24   #2
Тупой
Форумчанин
 
Аватар для Тупой
 
Регистрация: 26.12.2008
Сообщений: 146
По умолчанию

Ваш макрос работает только с листами "Лист1" и "Лист3".
Он копирует только из ячейки G25 Листа 1 в ячейку D2 Листа3.
Затем он выбирает ячейку G25.
Если вам нужно скопировать что-то из другой ячейки, то Ваш макрос нужно переделывать.
"Hello, world!" - 17 errors 56 warnings
Тупой вне форума Ответить с цитированием
Старый 04.02.2009, 23:09   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Можно слегка упростить макрос:
Код:
Sub PriceCopySell()
    Лист1.[G25].Copy  Лист3.[D2]
End Sub
Можете изменять выделенные красным имена ячеек.
Листы Лист1 и Лист3 должны присутствовать (и называться именно так)
EducatedFool вне форума Ответить с цитированием
Старый 04.02.2009, 23:20   #4
КаМММ
Почти "Чайник"
Форумчанин
 
Аватар для КаМММ
 
Регистрация: 09.06.2008
Сообщений: 134
По умолчанию

Если нужно скопировать только цифру то попробуй так:
[Лист3!D2] = [Лист1!G25]
КаМММ вне форума Ответить с цитированием
Старый 05.02.2009, 11:52   #5
slan
Форумчанин
 
Аватар для slan
 
Регистрация: 30.01.2008
Сообщений: 314
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Можно слегка упростить макрос:
Код:
Sub PriceCopySell()
    Лист1.[G25].Copy  Лист3.[D2]
End Sub
Можете изменять выделенные красным имена ячеек.
Листы Лист1 и Лист3 должны присутствовать (и называться именно так)
только заметьте, что лист1 и лист3 - это не те названия, которые видны на ярлычках. они могут совпадать, а могут и нет.
slan вне форума Ответить с цитированием
Старый 05.02.2009, 20:58   #6
zander
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 113
По умолчанию

Спасибо всем! Как всегда быстро и по делу...
zander вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Windows 95 - почему не работает? Disel Windows 2 04.02.2009 17:12
Почему не работает тег align=right?valign работает а align нет! aviv HTML и CSS 5 21.01.2009 17:46
почему не работает domovoi Общие вопросы Delphi 1 15.10.2008 18:42
Почему макрос не определяет ячейку? valerij Microsoft Office Excel 3 18.09.2008 00:17