Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перемещение автофигур - по циклу на один шаг - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перемещение автофигур - по циклу на один шаг (Макросы/Sub)
Перемещение автофигур - по циклу на один шаг
SergVrn Дата: Понедельник, 07.08.2017, 23:16 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 87
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый вечер, специалисты по программированию.
Помогите решить непростую задачу.

На листе находится несколько пронумерованных автофигур, расставленных друг относительно друга - в виде овала.

Как макросом, по одному клику на кнопку - переместить автофигуры - по нарисованному циклу на один шаг ?

(При первом клике - автофигура 1 - сдвинется влево на место автофигуры 8. А освободившееся место автофигуры 1 - будет занято автофигурой 2 и т.д. по всему кругу.)
К сообщению приложен файл: 456456.xls (62.0 Kb)
 
Ответить
СообщениеДобрый вечер, специалисты по программированию.
Помогите решить непростую задачу.

На листе находится несколько пронумерованных автофигур, расставленных друг относительно друга - в виде овала.

Как макросом, по одному клику на кнопку - переместить автофигуры - по нарисованному циклу на один шаг ?

(При первом клике - автофигура 1 - сдвинется влево на место автофигуры 8. А освободившееся место автофигуры 1 - будет занято автофигурой 2 и т.д. по всему кругу.)

Автор - SergVrn
Дата добавления - 07.08.2017 в 23:16
AndreTM Дата: Вторник, 08.08.2017, 00:36 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Если "по нарисованному стрелками циклу - то практически никак (только если конкретно в данном виде, восемь стрелок, и вы их не меняете (не удаляете/не добавляете)).
Или подразумевается, что двигать надо "по циклу написанных на фигурах чисел, в порядке возрастания" (и стрелки там просто "для красоты и понимания")? И числа на фигурах будут написаны, именно "текстом в автофигуре"?


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеЕсли "по нарисованному стрелками циклу - то практически никак (только если конкретно в данном виде, восемь стрелок, и вы их не меняете (не удаляете/не добавляете)).
Или подразумевается, что двигать надо "по циклу написанных на фигурах чисел, в порядке возрастания" (и стрелки там просто "для красоты и понимания")? И числа на фигурах будут написаны, именно "текстом в автофигуре"?

Автор - AndreTM
Дата добавления - 08.08.2017 в 00:36
SergVrn Дата: Вторник, 08.08.2017, 00:42 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 87
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
трелки там просто "для красоты и понимания"


Стрелки - просто для красоты и понимания.
 
Ответить
Сообщение
трелки там просто "для красоты и понимания"


Стрелки - просто для красоты и понимания.

Автор - SergVrn
Дата добавления - 08.08.2017 в 00:42
SergVrn Дата: Вторник, 08.08.2017, 00:43 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 87
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
числа на фигурах будут написаны, именно "текстом в автофигуре"


Числа на фигурах - для понимания того - какая фигура - куда должна переместится..
 
Ответить
Сообщение
числа на фигурах будут написаны, именно "текстом в автофигуре"


Числа на фигурах - для понимания того - какая фигура - куда должна переместится..

Автор - SergVrn
Дата добавления - 08.08.2017 в 00:43
InExSu Дата: Вторник, 08.08.2017, 01:21 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация: 96 ±
Замечаний: 0% ±

Excel 2010, 365
[vba]
Код
Option Base 1
Sub Цирк_InExSu()

Dim масс_Sha(8, 2)

Dim sh As Worksheet, sha As Shape
Set sh = ThisWorkbook.ActiveSheet

'Собираю координаты
For i = 1 To 8
масс_Sha(i, 1) = sh.Shapes("Rectangle " & i).Left
масс_Sha(i, 2) = sh.Shapes("Rectangle " & i).Top
Next i

For i = 8 To 2 Step -1
sh.Shapes("Rectangle " & i).Left = масс_Sha(i - 1, 1)
sh.Shapes("Rectangle " & i).Top = масс_Sha(i - 1, 2)
Next i
sh.Shapes("Rectangle 1").Left = масс_Sha(8, 1)
sh.Shapes("Rectangle 1").Top = масс_Sha(8, 2)

End Sub
[/vba]
К сообщению приложен файл: _____SergVrn.xls (71.5 Kb)


Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac

Сообщение отредактировал InExSu - Вторник, 08.08.2017, 01:22
 
Ответить
Сообщение[vba]
Код
Option Base 1
Sub Цирк_InExSu()

Dim масс_Sha(8, 2)

Dim sh As Worksheet, sha As Shape
Set sh = ThisWorkbook.ActiveSheet

'Собираю координаты
For i = 1 To 8
масс_Sha(i, 1) = sh.Shapes("Rectangle " & i).Left
масс_Sha(i, 2) = sh.Shapes("Rectangle " & i).Top
Next i

For i = 8 To 2 Step -1
sh.Shapes("Rectangle " & i).Left = масс_Sha(i - 1, 1)
sh.Shapes("Rectangle " & i).Top = масс_Sha(i - 1, 2)
Next i
sh.Shapes("Rectangle 1").Left = масс_Sha(8, 1)
sh.Shapes("Rectangle 1").Top = масс_Sha(8, 2)

End Sub
[/vba]

Автор - InExSu
Дата добавления - 08.08.2017 в 01:21
SergVrn Дата: Вторник, 08.08.2017, 01:38 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 87
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
InExSu, то что нужно.
Спасибо.
 
Ответить
СообщениеInExSu, то что нужно.
Спасибо.

Автор - SergVrn
Дата добавления - 08.08.2017 в 01:38
AndreTM Дата: Вторник, 08.08.2017, 01:47 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Не, ну давайте уж сделаем всё "по серьезному" :)
С проверками номеров, любым количеством фигур и любой (последовательной) нумерацией...
К сообщению приложен файл: 10-34805-1.xlsm (21.7 Kb)


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеНе, ну давайте уж сделаем всё "по серьезному" :)
С проверками номеров, любым количеством фигур и любой (последовательной) нумерацией...

Автор - AndreTM
Дата добавления - 08.08.2017 в 01:47
AndreTM Дата: Четверг, 10.08.2017, 04:01 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Заодно можно посмотреть продолжение банкета :)


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеЗаодно можно посмотреть продолжение банкета :)

Автор - AndreTM
Дата добавления - 10.08.2017 в 04:01
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перемещение автофигур - по циклу на один шаг (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!