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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2011, 17:50   #1
Richard123
Пользователь
 
Регистрация: 17.01.2011
Сообщений: 26
По умолчанию Ошибка в макросе по переносу данных

Задача. Есть данные, скопирать данные на другой лист, изменить 1-ую колонку, перенести изменненные данные обратно на 1 лист.


Что не так:


Код:
 Sub ABC

 Sheets.ADD.Name = "TempForPrice"
    With Sheets("Ëèñò1")
         .ROWS("1:1").Hidden = True
         .Range("B1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy Sheets("TempForPrice").Range("A1")
         .ROWS("1:1").Hidden = False
    End With
    With Sheets("TempForPrice")
         .Columns("A:A").FormulaR1C1 = "Öåíà"
         .Range("A1").CurrentRegion.Copy Sheets("Ëèñò1").Range("A1").End(xlDown).Offset(rowOffset:=1, columnOffset:=0)

End Sub
Richard123 вне форума Ответить с цитированием
Старый 18.01.2011, 18:48   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Что не так:
это у вас надо спросить...

что сподвигло вас создать эту тему?
ошибка выскакивает при запуске макроса?

PS: Последней строкой в макросе поставьте End With
EducatedFool вне форума Ответить с цитированием
Старый 19.01.2011, 09:16   #3
Richard123
Пользователь
 
Регистрация: 17.01.2011
Сообщений: 26
По умолчанию

Стоит задача перенести измененные данные обратно на 1 лист.

Ошибка выскакивает в процессе выполнения макроса.

А именно при выполнении вот этой части:
Код:
    With Sheets("TempForPrice")
         .Columns("A:A").FormulaR1C1 = "Цена"
         .Range("A1").CurrentRegion.Copy Sheets("Лист1").Range("A1").End(xlDown).Offset(rowOffset:=1, columnOffset:=0)
    End With
Выскакивает ошибка что данные не могут быть скопированы из за не соответствия формы. Как я понимаю, то что я написал может скопировать на новый лист данные, а в конец данных первого листа не может. Как правильно записать макрос?


Ой, а как сделать что бы в колонке "А" значение "Цена" протянулось только по имеющимся данным, а не по всей длине колонки?

Последний раз редактировалось Richard123; 19.01.2011 в 09:29.
Richard123 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка в макросе Илья Николаевич Microsoft Office Excel 2 05.07.2010 15:34
Почему, ошибка в макросе valerij Microsoft Office Excel 8 27.02.2010 01:48
Функции в макросе. Rom1k06 Microsoft Office Excel 7 19.10.2008 11:22
Константы в Макросе valerij Microsoft Office Excel 2 03.02.2008 23:33