Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.02.2012, 21:20   #1
vfv
Пользователь
 
Регистрация: 28.07.2009
Сообщений: 54
По умолчанию Увеличить-уменьшить ячейку с рисунком Excel 2003

Код:
При клике на рисунок,увеличиваются размеры ячейки вместе с рисунком.При повторном клике на рисунок, размеры ячейки вместе с рисунком возвращаются в исходное состояние.Всё работает.Однако не нравится, что при кликах по рисунку, рисунок как то мелькает.Подскажите как можно это устранить.
vfv вне форума Ответить с цитированием
Старый 01.03.2012, 12:54   #2
slan
Форумчанин
 
Аватар для slan
 
Регистрация: 30.01.2008
Сообщений: 314
По умолчанию

вместо всех ваших вот эту одну:

Sub click()
Dim s$
s = Application.Caller
With ActiveSheet.Shapes(s).TopLeftCell
.EntireRow.RowHeight = IIf(.Height < 300, 340, 60)
.EntireColumn.ColumnWidth = IIf(.Width < 80, 90, 8)
Application.Goto .Cells, 1
End With
End Sub
slan вне форума Ответить с цитированием
Старый 01.03.2012, 14:44   #3
vfv
Пользователь
 
Регистрация: 28.07.2009
Сообщений: 54
По умолчанию

Макрос у вас отличный. Однако нужно ещё ,чтобы при первом клике по выбранной картинке (для её увеличения),все остальные строки с картинками, кроме строки с увеличенной картинкой, скрывались.При втором клике ,чтобы всё строки и размер всех картинок восстановилось в первоначальное состояние.
vfv вне форума Ответить с цитированием
Старый 02.03.2012, 10:39   #4
slan
Форумчанин
 
Аватар для slan
 
Регистрация: 30.01.2008
Сообщений: 314
По умолчанию

ну так это уже мелочи - доработка


могли бы и сами..


UsedRange.EntireRow.Hidden = True
.Hidden = False


в контексте моего макоса, конечно..

Последний раз редактировалось slan; 02.03.2012 в 10:40. Причина: оптимизация
slan вне форума Ответить с цитированием
Старый 02.03.2012, 12:13   #5
vfv
Пользователь
 
Регистрация: 28.07.2009
Сообщений: 54
По умолчанию

Уважаемый, "slan" !
Ваш макрос оказался для меня сложным.
Ни как не пойму куда в код вставить ваше дополнение.
Попробовал разные варианты,однако нарушается работа макроса.
Поможите?
vfv вне форума Ответить с цитированием
Старый 02.03.2012, 12:29   #6
slan
Форумчанин
 
Аватар для slan
 
Регистрация: 30.01.2008
Сообщений: 314
По умолчанию

Код:
Sub click_()
 Dim s$, b As Boolean
 s = Application.Caller
 With ActiveSheet.Shapes(s).TopLeftCell
 b = .Width < 80
 ActiveSheet.UsedRange.EntireRow.Hidden = b
 .EntireRow.Hidden = Not b
 .EntireRow.RowHeight = IIf(b, 340, 60)
 .EntireColumn.ColumnWidth = IIf(b, 90, 8)
 Application.Goto .Cells, 1
 End With
 End Sub


Sub shonact()
Dim x
For Each x In ActiveSheet.Shapes
    If x.TopLeftCell.Column = 1 Then x.OnAction = "click_"
Next
End Sub
второй макрос - чтобы переназначить всем рисункам макрос на новый
рисунки должны быть в первом столбце листа, лист должен быть активным. макрос надо запустить один раз - сможете? без кнопки..?

Последний раз редактировалось slan; 02.03.2012 в 12:31.
slan вне форума Ответить с цитированием
Старый 02.03.2012, 13:04   #7
vfv
Пользователь
 
Регистрация: 28.07.2009
Сообщений: 54
По умолчанию

Уважаемый, "slan" !
Испытал ваш доработанный макрос - работает идеально,так как я хотел.
Чтобы не было мельканий строк при работе макроса в начале кода я вставил строчку -Application.ScreenUpdating = False .Спасибо.Может подскажите ещё почему при клике на картинку с цветной нитью, сначало при нажатии на неё виден негатив, а при отпускании происходят небольшие мелькания до момента увеличения.Эту картинку я склеивал из трёх разных картинок.Это может из за того,что она больше весит.Устранимо ли это? Если нет и так хорошо.
vfv вне форума Ответить с цитированием
Старый 02.03.2012, 13:56   #8
slan
Форумчанин
 
Аватар для slan
 
Регистрация: 30.01.2008
Сообщений: 314
По умолчанию

негатив - это спец эффект при нажатии, не знаю как его отключить
slan вне форума Ответить с цитированием
Старый 02.03.2012, 15:08   #9
vfv
Пользователь
 
Регистрация: 28.07.2009
Сообщений: 54
По умолчанию

Уважаемый, "slan" ! Аппетит приходит во время еды.Под себя я код немного изменил:
Код:
Sub click_()
 Application.ScreenUpdating = False
 Dim s$, b As Boolean
 s = Application.Caller
 With ActiveSheet.Shapes(s).TopLeftCell
 b = .Width < 80
 ActiveSheet.UsedRange.EntireRow.Hidden = b
 .EntireRow.Hidden = Not b
 .EntireRow.RowHeight = IIf(b, 340, 60)
 
 ActiveWindow.SmallScroll Down:=-1
 
 .EntireColumn.ColumnWidth = IIf(b, 90, 8)
 End With
 End Sub
Картинка возвращается в то же место на экране,откуда кликнули.Однако если верхние картинки были передвинуты - скрыты колёсиком мыши, то после уменьшения кликнутая картинка смещается,а все скрытые отображаются.Можно ли изменить макрос,чтобы картинка возвращалась в первоночальное положение,а скрытые так и оставались скрытыми?
vfv вне форума Ответить с цитированием
Старый 02.03.2012, 16:20   #10
Zay177
Новичок
Джуниор
 
Регистрация: 02.03.2012
Сообщений: 1
По умолчанию

Помогите пожалуйста!!! не могу разобраться как в exсel сделать сумму прописью, напишите как сделать это проще.
Заранее спасибо!
Zay177 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Увеличить количество таблиц подключаемых к EXCEL Thunder Horse Microsoft Office Access 3 30.10.2010 11:40
стрелки увеличить уменьшить число в ячейке AKolotushkin Microsoft Office Excel 3 11.06.2010 16:19
как увеличить скорость заполнения данных в mdb из excel Tanuska___:) БД в Delphi 4 22.04.2010 10:50
Работа Delphi с рисунком в Excel? Alex-as-hac Общие вопросы Delphi 0 02.12.2008 09:59