Как выделить несколько автофигур
K32
Дата: Среда, 19.03.2014, 10:06 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Перебором нахожу нужные мне автофигуры и выделяю с помощью .Select Но по завершении макроса оказывается выделенной только последняя автофигура. Что делать?
Перебором нахожу нужные мне автофигуры и выделяю с помощью .Select Но по завершении макроса оказывается выделенной только последняя автофигура. Что делать? K32
Ответить
Сообщение Перебором нахожу нужные мне автофигуры и выделяю с помощью .Select Но по завершении макроса оказывается выделенной только последняя автофигура. Что делать? Автор - K32 Дата добавления - 19.03.2014 в 10:06
KuklP
Дата: Среда, 19.03.2014, 10:07 |
Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
Макрорекордер не работает?
Макрорекордер не работает? KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение Макрорекордер не работает? Автор - KuklP Дата добавления - 19.03.2014 в 10:07
K32
Дата: Среда, 19.03.2014, 10:10 |
Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
KuklP, вообще макрорекордер работает, но на автофигуры не реагирует.
KuklP, вообще макрорекордер работает, но на автофигуры не реагирует. K32
Ответить
Сообщение KuklP, вообще макрорекордер работает, но на автофигуры не реагирует. Автор - K32 Дата добавления - 19.03.2014 в 10:10
_Boroda_
Дата: Среда, 19.03.2014, 10:14 |
Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
В 2007 Excel макрорекодер шальной насчет графики. Переставьте 2010 или 2013 А по коду примерно так [vba]Код
ActiveSheet.Shapes.Range(Array("Rectangle 1", "Rectangle 3", "Rectangle 5")).Select
[/vba]
В 2007 Excel макрорекодер шальной насчет графики. Переставьте 2010 или 2013 А по коду примерно так [vba]Код
ActiveSheet.Shapes.Range(Array("Rectangle 1", "Rectangle 3", "Rectangle 5")).Select
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение В 2007 Excel макрорекодер шальной насчет графики. Переставьте 2010 или 2013 А по коду примерно так [vba]Код
ActiveSheet.Shapes.Range(Array("Rectangle 1", "Rectangle 3", "Rectangle 5")).Select
[/vba] Автор - _Boroda_ Дата добавления - 19.03.2014 в 10:14
KuklP
Дата: Среда, 19.03.2014, 10:19 |
Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
Ну да. 07 это вообще недоразумение. Мелким тупо хотелось денег
Ну да. 07 это вообще недоразумение. Мелким тупо хотелось денег KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение Ну да. 07 это вообще недоразумение. Мелким тупо хотелось денег Автор - KuklP Дата добавления - 19.03.2014 в 10:19
K32
Дата: Среда, 19.03.2014, 10:20 |
Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
А как быть в моем случае? [vba]Код
Dim s As Shape For Each s In Лист1.Shapes If Mid(s.Name, 1, 1) = "У" Then s.Select Next s
[/vba]
А как быть в моем случае? [vba]Код
Dim s As Shape For Each s In Лист1.Shapes If Mid(s.Name, 1, 1) = "У" Then s.Select Next s
[/vba] K32
Ответить
Сообщение А как быть в моем случае? [vba]Код
Dim s As Shape For Each s In Лист1.Shapes If Mid(s.Name, 1, 1) = "У" Then s.Select Next s
[/vba] Автор - K32 Дата добавления - 19.03.2014 в 10:20
KuklP
Дата: Среда, 19.03.2014, 10:27 |
Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
Собирайте в массив нужные имена, потом этот массив выделяйте. А вообще читайте правила, выкладывайте пример. За Вас примеры рисовать желающих мало.
Собирайте в массив нужные имена, потом этот массив выделяйте. А вообще читайте правила, выкладывайте пример. За Вас примеры рисовать желающих мало. KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение Собирайте в массив нужные имена, потом этот массив выделяйте. А вообще читайте правила, выкладывайте пример. За Вас примеры рисовать желающих мало. Автор - KuklP Дата добавления - 19.03.2014 в 10:27
K32
Дата: Среда, 19.03.2014, 10:53 |
Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
KuklP, собрал нужные имена в массив ns, количество cs, как этот массив выделить?
KuklP, собрал нужные имена в массив ns, количество cs, как этот массив выделить? K32
Ответить
Сообщение KuklP, собрал нужные имена в массив ns, количество cs, как этот массив выделить? Автор - K32 Дата добавления - 19.03.2014 в 10:53
KuklP
Дата: Среда, 19.03.2014, 10:54 |
Сообщение № 9
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
За Вас примеры рисовать желающих мало.
Где пример с Вашими попытками?
За Вас примеры рисовать желающих мало.
Где пример с Вашими попытками?KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Сообщение отредактировал KuklP - Среда, 19.03.2014, 10:56
Ответить
Сообщение За Вас примеры рисовать желающих мало.
Где пример с Вашими попытками?Автор - KuklP Дата добавления - 19.03.2014 в 10:54
K32
Дата: Среда, 19.03.2014, 11:05 |
Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Прикладываю пример.
Ответить
Сообщение Прикладываю пример. Автор - K32 Дата добавления - 19.03.2014 в 11:05
KuklP
Дата: Среда, 19.03.2014, 11:18 |
Сообщение № 11
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
Вы уверены, что на листе есть ВСЕ шейпы с такими именами? Я уверен, что нет. В общем случае макрос выглядит так: [vba]Код
Sub ВВ() Dim ns(1 To 999) As String Dim cs As Integer cs = Лист4.Cells(1, 1) - 1 For i = 3 To cs + 1 ns(i - 2) = Лист4.Cells(i, 1) Next i ActiveSheet.DrawingObjects(ns).Select End Sub
[/vba] Но лучше перебирать на листе фигуры и имена нужных заносить в массив через redim preserve.
Вы уверены, что на листе есть ВСЕ шейпы с такими именами? Я уверен, что нет. В общем случае макрос выглядит так: [vba]Код
Sub ВВ() Dim ns(1 To 999) As String Dim cs As Integer cs = Лист4.Cells(1, 1) - 1 For i = 3 To cs + 1 ns(i - 2) = Лист4.Cells(i, 1) Next i ActiveSheet.DrawingObjects(ns).Select End Sub
[/vba] Но лучше перебирать на листе фигуры и имена нужных заносить в массив через redim preserve. KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение Вы уверены, что на листе есть ВСЕ шейпы с такими именами? Я уверен, что нет. В общем случае макрос выглядит так: [vba]Код
Sub ВВ() Dim ns(1 To 999) As String Dim cs As Integer cs = Лист4.Cells(1, 1) - 1 For i = 3 To cs + 1 ns(i - 2) = Лист4.Cells(i, 1) Next i ActiveSheet.DrawingObjects(ns).Select End Sub
[/vba] Но лучше перебирать на листе фигуры и имена нужных заносить в массив через redim preserve. Автор - KuklP Дата добавления - 19.03.2014 в 11:18
KuklP
Дата: Среда, 19.03.2014, 11:24 |
Сообщение № 12
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
В Вашем случае: Dim s As Shape For Each s In Лист1.Shapes If instr(1,s.Name,"У") Then ... заносим в массив
В Вашем случае: Dim s As Shape For Each s In Лист1.Shapes If instr(1,s.Name,"У") Then ... заносим в массив KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Сообщение отредактировал KuklP - Среда, 19.03.2014, 11:24
Ответить
Сообщение В Вашем случае: Dim s As Shape For Each s In Лист1.Shapes If instr(1,s.Name,"У") Then ... заносим в массив Автор - KuklP Дата добавления - 19.03.2014 в 11:24
K32
Дата: Среда, 19.03.2014, 11:33 |
Сообщение № 13
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
ActiveSheet.DrawingObjects(ns).Select выдал ошибку Run-time error 1004 Method 'DrawingObjects' of object '_Worksheet' failed исправил на ActiveSheet.Shapes.Range(ns).Select и заработало. Спасибо!
ActiveSheet.DrawingObjects(ns).Select выдал ошибку Run-time error 1004 Method 'DrawingObjects' of object '_Worksheet' failed исправил на ActiveSheet.Shapes.Range(ns).Select и заработало. Спасибо! K32
Ответить
Сообщение ActiveSheet.DrawingObjects(ns).Select выдал ошибку Run-time error 1004 Method 'DrawingObjects' of object '_Worksheet' failed исправил на ActiveSheet.Shapes.Range(ns).Select и заработало. Спасибо! Автор - K32 Дата добавления - 19.03.2014 в 11:33