Добрый день всем присутствующим! Ситуация общая, пример не прикладываю.
Что есть При копировании и вставке вертикальной части любого столбца Excel размещает копируемый фрагмент вниз от ячейки вставки.
Чего бы добиться Мне, к сожалению, необходимо переносить по листам фрагменты различной "высотности", но на фиксированную строку: копируемый фрагмент должен вставлятся ВВЕРХ от ячейки вставки. И как вы понимаете, при существующем раскладе приходится долго высчитывать кол-во ячеек по высоте, чтобы вставляемый фрагмент удачно "приземлился" на нужную строку.
Вопрос Можно ли сменить направление вставки путём изменения каких-либо настроек (сам, увы, не нашёл), либо для этого нужно соорудить макрос?
Добрый день всем присутствующим! Ситуация общая, пример не прикладываю.
Что есть При копировании и вставке вертикальной части любого столбца Excel размещает копируемый фрагмент вниз от ячейки вставки.
Чего бы добиться Мне, к сожалению, необходимо переносить по листам фрагменты различной "высотности", но на фиксированную строку: копируемый фрагмент должен вставлятся ВВЕРХ от ячейки вставки. И как вы понимаете, при существующем раскладе приходится долго высчитывать кол-во ячеек по высоте, чтобы вставляемый фрагмент удачно "приземлился" на нужную строку.
Вопрос Можно ли сменить направление вставки путём изменения каких-либо настроек (сам, увы, не нашёл), либо для этого нужно соорудить макрос?mick-77
Что тут сказать... Низкий поклон Сильным мира сего!!!
Спасибо Pelena, спасибо Serge 007!!! Поскольку пошёл от простого к сложному, то, в силу своих способностей, познакомился с изобретением, которое сотворила Pelena. Но не смог разгадать гений Serge 007 - "вживил" в контекстное меню строчку "Вставить ВВЕРХ", запустив макрос Q, но не смог дальше скопировать в нужном порядке данные. Выскочила табличка Compile error: User-defined type not defined для Sub PasteUP() (у оператора Dim выделен текст MyDataObj As New DataObject).
Вполне допускаю собственную профнепригодность для тонкой настройки возникшей проблемы. Совсем не прошу дальнейшую диагностику - буду разбираться сам.
Ещё раз сердечно вас обоих благодарю!
Что тут сказать... Низкий поклон Сильным мира сего!!!
Спасибо Pelena, спасибо Serge 007!!! Поскольку пошёл от простого к сложному, то, в силу своих способностей, познакомился с изобретением, которое сотворила Pelena. Но не смог разгадать гений Serge 007 - "вживил" в контекстное меню строчку "Вставить ВВЕРХ", запустив макрос Q, но не смог дальше скопировать в нужном порядке данные. Выскочила табличка Compile error: User-defined type not defined для Sub PasteUP() (у оператора Dim выделен текст MyDataObj As New DataObject).
Вполне допускаю собственную профнепригодность для тонкой настройки возникшей проблемы. Совсем не прошу дальнейшую диагностику - буду разбираться сам.
mick-77, всё норм - у меня было то же самое. Идите в VBE/Tools/References/ поставьте галку на Microsoft Forms 2.0 Object Library - должно пойти [p.s.]Сергей - реально шедеврально
mick-77, всё норм - у меня было то же самое. Идите в VBE/Tools/References/ поставьте галку на Microsoft Forms 2.0 Object Library - должно пойти [p.s.]Сергей - реально шедеврально buchlotnik
Сообщение отредактировал buchlotnik - Четверг, 04.06.2015, 18:28
Как там Валентин Гафт в "Гараже" обмолвился: "...счастливый Вы наш!"
Эх, buchlotnik, всё бы хорошо, да вот беда - у меня в VBE/Tools/References/ находится только Microsoft Feeds 2.0 Object Library. А это, видимо, не то (уже попробовал)...
Но раз уж, по моему случаю, здесь собрался профессорский консилиум, то обязан сказать, как я пытался на скорую руку разобраться... 1. Открыл файл от Sergre 007 и сохранил его "с поддержкой макросов"; 2. Открыл сохранённый файл и запустил макрос Q, включив строчку в контекстное меню; 3. Попытался скопировать произвольный столбец, но получил ошибку.
Далее прошёлся по совету (правда, с ...Feeds...), но безрезультатно. В любом случае, прошу не ругать меня за бестолковость Спасибо за участие!!!
Как там Валентин Гафт в "Гараже" обмолвился: "...счастливый Вы наш!"
Эх, buchlotnik, всё бы хорошо, да вот беда - у меня в VBE/Tools/References/ находится только Microsoft Feeds 2.0 Object Library. А это, видимо, не то (уже попробовал)...
Но раз уж, по моему случаю, здесь собрался профессорский консилиум, то обязан сказать, как я пытался на скорую руку разобраться... 1. Открыл файл от Sergre 007 и сохранил его "с поддержкой макросов"; 2. Открыл сохранённый файл и запустил макрос Q, включив строчку в контекстное меню; 3. Попытался скопировать произвольный столбец, но получил ошибку.
Далее прошёлся по совету (правда, с ...Feeds...), но безрезультатно. В любом случае, прошу не ругать меня за бестолковость Спасибо за участие!!!mick-77
Сообщение отредактировал mick-77 - Четверг, 04.06.2015, 19:38
Искал-то, Pelena, действительно, по алфавиту! Но просмотрел весь список, а Forms не увидел...
Первые четыре строки (галки включены): 1. Visual Basic For Application 2. Microsoft Excel 14.0 Object Library 3. OLE Automation 4. Microsoft Office 14.0 Object Library а далее обширный список Available References, среди которых (по алфавиту) только ...Feeds... близко подходит.
Может у меня Excel незаконный?
Искал-то, Pelena, действительно, по алфавиту! Но просмотрел весь список, а Forms не увидел...
Первые четыре строки (галки включены): 1. Visual Basic For Application 2. Microsoft Excel 14.0 Object Library 3. OLE Automation 4. Microsoft Office 14.0 Object Library а далее обширный список Available References, среди которых (по алфавиту) только ...Feeds... близко подходит.
Наверное, по несмышлённости, что современный Excel не требует формат файлов для макросов (ранние версии, кажется, предписывали для корректной работы макросов сохранять файлы с их поддержкой).
Присоединюсь к комплементу: женский ум, должно быть, превосходит мужской в изящности и красоте! Благодарю ещё раз!
Наверное, по несмышлённости, что современный Excel не требует формат файлов для макросов (ранние версии, кажется, предписывали для корректной работы макросов сохранять файлы с их поддержкой).
Присоединюсь к комплементу: женский ум, должно быть, превосходит мужской в изящности и красоте! Благодарю ещё раз!mick-77
Вот такой еще вариант с простеньким макросом без извращений всяческих: [vba]
Код
Sub VstavVverh() Application.ScreenUpdating = 0 ActiveSheet.Paste On Error Resume Next Selection.Offset(1 - Selection.Rows.Count).Resize(Selection.Rows.Count - 1).Delete Shift:=xlUp If Err.Number Then MsgBox "Вверх не влезает, вставляю вниз." Application.ScreenUpdating = 1 End Sub
[/vba] В файле для вставки вверх нужно нажать Контрл Шифт V на англицкой раскладке (Как для обычной вставки Контрл V, только еще с Шифтом)
Вот такой еще вариант с простеньким макросом без извращений всяческих: [vba]
Код
Sub VstavVverh() Application.ScreenUpdating = 0 ActiveSheet.Paste On Error Resume Next Selection.Offset(1 - Selection.Rows.Count).Resize(Selection.Rows.Count - 1).Delete Shift:=xlUp If Err.Number Then MsgBox "Вверх не влезает, вставляю вниз." Application.ScreenUpdating = 1 End Sub
[/vba] В файле для вставки вверх нужно нажать Контрл Шифт V на англицкой раскладке (Как для обычной вставки Контрл V, только еще с Шифтом)_Boroda_
Спасибо, Александр, Вам большое! Честно признаюсь, не ожидал такого пристального экспертного внимания к моей проблеме и стольких решений. Верю, что многим пользователям эти разработки облегчат жизнь! Всем вам здоровья и удачи!
Спасибо, Александр, Вам большое! Честно признаюсь, не ожидал такого пристального экспертного внимания к моей проблеме и стольких решений. Верю, что многим пользователям эти разработки облегчат жизнь! Всем вам здоровья и удачи!mick-77