AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.10.2008, 09:03   #1  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Poleax Посмотреть сообщение
а что за значение такое #define.xlShiftDown(-4121)?
ну, если хелп по Excel на своем компе совсем лениво открывать, то хотя бы здесь посмотрите: http://msdn.microsoft.com/en-us/library/bb178850.aspx

Цитата:
Сообщение от Poleax Посмотреть сообщение
при вставки объединенной ячейки появляется сообщение "Данная операция приведет к отмене объединения ячеек" т.е. ниже в файле Excel есть объединенные ячейки. Объединение с них снимается и в итоге данные передаваемые в именованную ячейку вставляются не в 3-ную объединенную, а самую первую. А две остальных даже не копируются вниз.

Как сделать так чтоб можно было копировать и дублировать именованную ячейку без потери объединения?
Самый простой вариант решения проблемы - вернуться к вставке полных строк. Еще вариант - отказаться от объединенных ячеек. В подавляющем большинстве практических случаев они могут быть безболезненно для отображения заменены центрированием по выделению (Формат \ Ячейки \ Выравнивание \ По горизонтали \ По центру выделения).

Если всё-таки хочется решать задачу именно в вашей постановке, то видится такой извратный вариант - сдвигать все оставшиеся ячейки шаблона ниже места вставки вправо (как дверь шкафа-купе), потом делать копирование, потом возвращать "дверь" обратно. Стоит ли игра таких свеч?
Старый 14.10.2008, 11:03   #2  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Цитата:
Сообщение от Gustav Посмотреть сообщение
ну, если хелп по Excel на своем компе совсем лениво открывать, то хотя бы здесь посмотрите: http://msdn.microsoft.com/en-us/library/bb178850.aspx
хелп по такому ответ не дает, да и проще спросить. За линку респект.
Цитата:
Сообщение от Gustav
Самый простой вариант решения проблемы - вернуться к вставке полных строк. Еще вариант - отказаться от объединенных ячеек. В подавляющем большинстве практических случаев они могут быть безболезненно для отображения заменены центрированием по выделению (Формат \ Ячейки \ Выравнивание \ По горизонтали \ По центру выделения).

Если всё-таки хочется решать задачу именно в вашей постановке, то видится такой извратный вариант - сдвигать все оставшиеся ячейки шаблона ниже места вставки вправо (как дверь шкафа-купе), потом делать копирование, потом возвращать "дверь" обратно. Стоит ли игра таких свеч?
не не не .. со вставкой строки сразу отпадает.
В отчете ячейки слишком мелкие и они объединены в "по больше".
Как у именованной ячейки узнать с кем она объединена? (сколько ячеек в право и сколько вниз.) А потом после вставке основной первой именованной все остальные продублировать также и после всего их объединить?
Старый 14.10.2008, 12:10   #3  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Poleax Посмотреть сообщение
хелп по такому ответ не дает
Ну-ну! Идём в Excel в редактор кода VBA по Alt+F11, пишем в окне отладки: Range("A1").Insert
Название: p1.jpg
Просмотров: 2465

Размер: 45.5 Кб

Щелкаем мышкой в середине слова Insert и жмем F1 - появляется топик хелпа
Название: p2.jpg
Просмотров: 2455

Размер: 35.8 Кб

Читая топик, видим интересующую нас константу xlShiftDown. Копируем эту строку в окно отладки и ставим перед ней восклицательный знак (сократитель команды Print), после чего нажимаем Enter
Название: p3.jpg
Просмотров: 2401

Размер: 46.8 Кб
Цитата:
Сообщение от Poleax Посмотреть сообщение
да и проще спросить
Ну это-то конечно. Типа "пусть работает железная пила"
Цитата:
Сообщение от Poleax Посмотреть сообщение
Как у именованной ячейки узнать с кем она объединена? (сколько ячеек в право и сколько вниз.)
См. MergeArea - cвойство объекта Range. Возвращает тоже Range. Например, если объединены ячейки A1:C2, то Range("A1").MergeArea.Address вернет $A$1:$C$2. Еще есть булевское свойство MergeCells объекта Range - возвращает True, если ячейка входит в объединение.
Старый 14.10.2008, 13:06   #4  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Gustav Посмотреть сообщение
видится такой извратный вариант - сдвигать все оставшиеся ячейки шаблона ниже места вставки вправо (как дверь шкафа-купе), потом делать копирование, потом возвращать "дверь" обратно. Стоит ли игра таких свеч?
Я имел в виду следующее - см. код VBA и рисунки:
Код:
Sub Macro1()
    Range("A6:C12").Insert xlShiftToRight 'xlShiftToRight = -4161
End Sub

Sub Macro2()
    Dim rng As Range
    Set rng = Range("B3")
    
    rng.Insert xlShiftDown 'xlShiftDown = -4121
    rng.Copy rng.Offset(-rng.Rows.Count)
End Sub

Sub Macro3()
    Range("A6:C12").Delete xlShiftToLeft 'xlShiftToLeft = -4159
End Sub
Теперь картинки. Исходное состояние. Далее будем размножать красную ячейку B3.
Нажмите на изображение для увеличения
Название: pp1.jpg
Просмотров: 376
Размер:	27.2 Кб
ID:	3809

После отработки Macro1 - сдвинули "дверь" вправо:
Нажмите на изображение для увеличения
Название: pp2.jpg
Просмотров: 275
Размер:	27.2 Кб
ID:	3810

После отработки Macro2 - выполнили размножение (объединенная голубая ячейка не мешает):
Нажмите на изображение для увеличения
Название: pp3.jpg
Просмотров: 294
Размер:	27.4 Кб
ID:	3811

После отработки Macro3 - вернули "дверь" назад:
Нажмите на изображение для увеличения
Название: pp4.jpg
Просмотров: 298
Размер:	27.4 Кб
ID:	3813
За это сообщение автора поблагодарили: aidsua (1).
Теги
excel, документация, как правильно, ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
как вывести номер строки в гриде? funnut DAX: Программирование 21 01.10.2012 16:33
Цветные строки в Grid Sergo DAX: База знаний и проекты 14 19.04.2012 10:02
При создании строки в закупке статус строки становится "Отменено" AlexUnik DAX: Функционал 4 27.09.2004 16:05
Буферные ячейки на складе - зачем? renat DAX: Функционал 16 01.04.2004 20:22
Функция "Удалить строки" Oks DAX: Функционал 1 03.07.2002 18:09

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:09.