Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Почему макрос обрабатывает не указанный ему столбец?
 
Здравствуйте, уважаемые планетяне!

Помогите пожалуйста неопытному пользователю найти ошибку в макросе.
В динамическом именованном диапазоне после его заполнения нужно заменить в трёх столбцах E, I и M формулы со ссылками на другую книгу на значения. При этом происходит замена формул на значения и в соседнем с Е столбце D.  :(  

Sub Макрос7()
Range("$E:$E")  .Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("$I:$I")  .Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("$M:$M")  .Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1")  .Select
Selection.ClearContents
End Sub

Заранее спасибо!
Изменено: Дарья - 22 Янв 2013 22:28:24
 
Скорее всего где-то внутри столбца Е есть объединенная ячейка, которая при выделении столбца целиком "заставляет" Excel выделять все столбцы, входящие в объединенную ячейку.
Полагаю, если макрос сократить и чуть оптимизировать - ошибки не будет:
Код
Sub Макрос7()
 Intersect(Range("$E:$E"), ActiveSheet.UsedRange).Value = Intersect(Range("$E:$E"), ActiveSheet.UsedRange).Value
 Intersect(Range("$I:$I"), ActiveSheet.UsedRange).Value = Intersect(Range("$I:$I"), ActiveSheet.UsedRange).Value
 Intersect(Range("$M:$M"), ActiveSheet.UsedRange).Value = Intersect(Range("$M:$M"), ActiveSheet.UsedRange).Value
 Range("A1").Value = Empty
End Sub

при копировании кода к себе не забудьте удалить пробел перед Value - это глюк форума, пока не вылеченный.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
The_Prist Спасибо огромное!! Точно, спряталась там объединённая ячейка, а я голову сломала.  :D  

А вот оптимизированный макрос пока не встаёт, не могу победить синтаксис с пробелами, но буду сейчас стараться!  :)
Изменено: Дарья - 22 Янв 2013 22:52:41
 
Цитата
Дарья пишет:
не могу победить синтаксис с пробелами
Перепишите эту строку целиком.
 
Юрий М, и Вам спасибо большое! Переписала строки, и всё получилось!  :)
И намного быстрее работает оптимизированный макрос!  :)
Страницы: 1
Читают тему (гостей: 1)
Наверх