Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Microsoft Office и VBA > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 26.01.2019, 02:15   #1
Путин ВВ
 
Регистрация: 07.01.2019
Сообщений: 9
Репутация: 10
По умолчанию Простановка единиц в ячейки под объектами, в макрос-то эту запись как превратить ?

Доброе утро.
Помогите решить проблему.

У меня есть макрос, заполняющий единицами ячейки под фигурой-полилинией.
Но применить его для простановки единиц под простыми фигурами - что-то не получается.

Подскажите - как проставить единицы - и под простыми фигурами тоже ?
(Или каким-то другим макросом проставить единицы под фигурами)
Вложения
Тип файла: xls 1-1.xls (64.0 Кб, 4 просмотров)
Путин ВВ вне форума   Ответить с цитированием
Старый 26.01.2019, 17:12   #2
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Адрес: УКРАЇНА, Київ
Сообщений: 9,060
Репутация: 1731

icq: 7934250
skype: i2x0,5
По умолчанию

Код:

Sub SetOnes(sh)
  Range(sh.TopLeftCell, sh.BottomRightCell).Value = 1
End Sub

__________________
41001804815208 - Яндекс-деньги благодарности за удачные советы и решения можно отправлять прямо сюда)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума   Ответить с цитированием
Старый 26.01.2019, 19:01   #3
Путин ВВ
 
Регистрация: 07.01.2019
Сообщений: 9
Репутация: 10
По умолчанию

IgorGO, а в макрос-то эту запись как превратить ?
Чтобы хотя бы посмотреть как он работает.

Я вот так его добавил:
Код:

Sub SetOnes()
Set sh = ActiveSheet.Shapes.Range(Array("Rectangle 3"))
  Range(sh.TopLeftCell, sh.BottomRightCell).Value = 1
End Sub

Выдает ошибку:
Run-time error '438'. Object doesn't support this property or method
Путин ВВ вне форума   Ответить с цитированием
Старый 27.01.2019, 02:36   #4
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Адрес: УКРАЇНА, Київ
Сообщений: 9,060
Репутация: 1731

icq: 7934250
skype: i2x0,5
По умолчанию

Путин ВВ,
а эта запись и есть полноценный макрос. не верите? спросите у любого полноценного программиста на VBA. не нужно ее ни во что превращать, просто пользуйтесь.
ранее предложенный макрос (или запись, если хотите) скопируйте в программный модуль своего проекта

в любом своем макросе используйте так:
Код:

Sub PtnPNX
' допустим это Ваш макрос
  SetOnes ActiveSheet.Shapes.("Rectangle 3")
' все 
End Sub

как только выполнили PtnPNX - смотрите не заполнились-ли ячейки за Rectangle 3 единичками.
__________________
41001804815208 - Яндекс-деньги благодарности за удачные советы и решения можно отправлять прямо сюда)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума   Ответить с цитированием
Старый 27.01.2019, 06:45   #5
Путин ВВ
 
Регистрация: 07.01.2019
Сообщений: 9
Репутация: 10
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
просто пользуйтесь.
Так я, был бы только рад им воспользоваться, но он не работает.

Сделал все как вы сказали:
Код:

Sub SetOnes(sh)
  Range(sh.TopLeftCell, sh.BottomRightCell).Value = 1
End Sub


Sub PtnPNX()
  SetOnes ActiveSheet.Shapes.Range("Rectangle 3")
End Sub

Выдает ошибку :
Run-time error 438.
Object doesnt support this property or method
Путин ВВ вне форума   Ответить с цитированием
Старый 27.01.2019, 13:01   #6
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Адрес: УКРАЇНА, Київ
Сообщений: 9,060
Репутация: 1731

icq: 7934250
skype: i2x0,5
По умолчанию

а если вместо
"Rectangle 3"
написать
"Прямоугольник 3"
??? зачем Вы обращаетесь к фигурам с несуществующими именами?

открывайте файл, щелкайте по фигурам, см. тексты макросов в Module2
Вложения
Тип файла: xls 1-1 (1).xls (62.0 Кб, 1 просмотров)
__________________
41001804815208 - Яндекс-деньги благодарности за удачные советы и решения можно отправлять прямо сюда)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума   Ответить с цитированием
Старый 27.01.2019, 19:30   #7
Путин ВВ
 
Регистрация: 07.01.2019
Сообщений: 9
Репутация: 10
По умолчанию

IgorGO, посмотрел.
Этот макрос - вместо простановки единиц под фигурами - рисует что-то наподобие крестов, которые выходят далеко за пределы этой фигуры.

Подскажите как макросу - учесть наклон фигуры ?
Чтобы единицы - более-менее попадали в контур фигуры.
Вложения
Тип файла: xls 1-1(2).xls (67.5 Кб, 0 просмотров)

Последний раз редактировалось Путин ВВ; 27.01.2019 в 21:38.
Путин ВВ вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как защитить ячейки от изменения пользователем, но не макрос varikvn Microsoft Office Excel 3 28.08.2017 18:53
Как исправить эту ошибку при попытке вытянуть информацию из ячейки в DataGrid? - WPF Артём001 Помощь студентам 2 08.01.2017 13:29
как сделать не доступными ячейки использяю макрос mars56 Microsoft Office Excel 2 12.01.2010 10:40
Как запустить макрос из ячейки? Maxx Microsoft Office Excel 8 15.04.2009 15:47
Макрос VBA EXCEl - простановка в ячейку номера страницы Обыватель Microsoft Office Excel 1 14.02.2008 13:49


14:33.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru