|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.06.2012, 20:07 | #1 |
Новичок
Джуниор
Регистрация: 24.06.2012
Сообщений: 2
|
Макрос VBA Excel (Поднять выделенную часть строки на позицию вверх)
Вопрос такой, как поднять выделенный участок строки на позицию вверх? Есть макрос, который поднимает всю строку, ячейка которой на данный момент выделена, а мне нужно поднять не всю строку, а ее часть, чтобы не задеть таблицу, которая находится справа от той в которой я работаю.
К примеру: | 1| 2| 3| 4| ...... | 1| 1| 1| | 2| 3| 4| 5| ...... | 2| 2| 2| | 3| 4| 5| 6| ...... | 3| 3| 3| | 4| 5| 6| 7| ...... | 4| 4| 4| Нужно привести к такому виду: (не трогая ячейки в правой стороне) | 1| 2| 3| 4| ...... | 1| 1| 1| | 2| 3| 4| 5| ...... | 2| 2| 2| | 4| 5| 6| 7| ...... | 3| 3| 3| | 3| 4| 5| 6| ...... | 4| 4| 4| Макрос который поднимает всю строку, выглядит так: Sub stringUP() If ActiveCell.Row > 1 Then ActiveCell.Offset(0, 0).EntireRow.Cut ActiveCell.Offset(-1, 0).EntireRow.Insert ActiveCell.Offset(-1, 0).Activate End If End Sub Макрос меняющий местами 2 одинаковых диапазона местами выглядит так: Sub SwapRanges() Dim ra As Range: Set ra = Selection msg1 = "Надо выделить 2 диапазона ячеек одинакового размера" msg2 = "Надо выделить 2 диапазона ячеек одинакового размера" If ra.Areas.Count <> 2 Then MsgBox msg1, vbCritical, "Ошибка": Exit Sub If ra.Areas(1).Count <> ra.Areas(2).Count Then MsgBox msg2, vbCritical, "Ошибка": Exit Sub arr2 = ra.Areas(2).Value ra.Areas(2).Value = ra.Areas(1).Value ra.Areas(1).Value = arr2 End Sub А решить мой вопрос, у меня не хватает интелекта. помогите пожалуйста. |
24.06.2012, 20:32 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
К примеру, вам надо «поднять» диапазон ячеек b4:e4
Для этого надо «вырезать» (удалить) вышестоящий диапазон ячеек b3:e3 Делается это так: Код:
Код:
|
24.06.2012, 20:49 | #3 |
Новичок
Джуниор
Регистрация: 24.06.2012
Сообщений: 2
|
Спасибо за оперативность, но мне нужно поднять выделенный (не всегда одинаковыый) диапазон.
|
24.06.2012, 21:26 | #4 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
А если подключить фантазию, и поэкспериментировать?
Код:
|
25.06.2012, 10:00 | #5 | |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Цитата:
Код:
Правильно поставленная задача - три четверти решения.
Последний раз редактировалось DiemonStar; 25.06.2012 в 10:02. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
css + seo как поднять блок content вверх кода | irkprin | HTML и CSS | 1 | 07.05.2011 04:26 |
[Excel+VBA] простецкий макрос 10wmz | 804040 | Фриланс | 2 | 02.03.2011 09:03 |
Сдвинуть выделенную часть текста вначале на n знаков | Zirat | Microsoft Office Word | 2 | 17.05.2010 19:12 |
Скопировать выделенную часть ячейки! | nikolai_P | Microsoft Office Excel | 8 | 05.05.2009 12:27 |
макрос VBA Excel | Bor | Microsoft Office Excel | 5 | 25.01.2008 12:20 |