![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 24.06.2012
Сообщений: 2
|
![]()
Вопрос такой, как поднять выделенный участок строки на позицию вверх? Есть макрос, который поднимает всю строку, ячейка которой на данный момент выделена, а мне нужно поднять не всю строку, а ее часть, чтобы не задеть таблицу, которая находится справа от той в которой я работаю.
К примеру: | 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 А решить мой вопрос, у меня не хватает интелекта. помогите пожалуйста. |
![]() |
![]() |
![]() |
#2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
![]()
К примеру, вам надо «поднять» диапазон ячеек b4:e4
Для этого надо «вырезать» (удалить) вышестоящий диапазон ячеек b3:e3 Делается это так: Код:
Код:
|
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 24.06.2012
Сообщений: 2
|
![]()
Спасибо за оперативность, но мне нужно поднять выделенный (не всегда одинаковыый) диапазон.
|
![]() |
![]() |
![]() |
#4 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
![]()
А если подключить фантазию, и поэкспериментировать?
Код:
|
![]() |
![]() |
![]() |
#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 |