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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2010, 12:28   #1
Bezdar
Форумчанин
 
Регистрация: 03.06.2008
Сообщений: 213
По умолчанию Вставка чекбокса в центр ячейки?

Здравствуйте!
Подскажите, пожалуйста, как программно вставить чекбокс в ячейки строго по центру? Высота ячеек разная.
Я беру высоту ячейки и прописываю ее в CheckBox.Top=
Что-то, видимо, не так делаю. Измучилась вся.
Bezdar вне форума Ответить с цитированием
Старый 28.12.2010, 13:57   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Измучилась вся
И нас решили снова помучить, да? )))

Ну сколько можно-то...
Я ж вам в прошлый раз на примере показывал, что чекбоксы бывают как минимум 2 видов - и код для них совершенно разный.

В этот раз нам опять предлагать вам все возможные варианты,
или вы всё-таки сжалитесь над нами, и выложите, пусть уж не файл, но хотя бы свой код?
EducatedFool вне форума Ответить с цитированием
Старый 28.12.2010, 15:00   #3
Bezdar
Форумчанин
 
Регистрация: 03.06.2008
Сообщений: 213
По умолчанию

Вот, выкладываю (шипко то не глумитесь над бездарем):
iRowHeight = 0
For iRowCount = 2 To UsedRange.Rows.Count
iChBoxTop = ActiveSheet.Range("A" & iRowCount).Height + iRowHeight
ActiveSheet.OLEObjects.Add("Forms.C heckBox.1", Link:=True, _
DisplayAsIcon:=True, Left:=112.2, Top:=iChBoxTop, Width:=15.6, Height:=10 _
).Select
iRowHeight = iChBoxTop
Next
Bezdar вне форума Ответить с цитированием
Старый 28.12.2010, 15:24   #4
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

.............
Вложения
Тип файла: rar Книга2.rar (11.2 Кб, 114 просмотров)
аналитика вне форума Ответить с цитированием
Старый 29.12.2010, 11:21   #5
Bezdar
Форумчанин
 
Регистрация: 03.06.2008
Сообщений: 213
По умолчанию

Спасибо!!! Работает - все четко по центру.
Только ближе к сотне центровка сбиваться начала. Вот незадача.
Bezdar вне форума Ответить с цитированием
Старый 29.12.2010, 11:42   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Только ближе к сотне центровка сбиваться начала. Вот незадача.
Скорее всего, вы используете Excel 2007 - там есть такая проблема (надо учитывать толщину рамок ячеек, что достаточно сложно. По крайней мере, я алгоритма не знаю - обычно в таких случаях для Excel 2007 путём научного тыка ввожу небольшое смещение, зависящее от номера строки. После этого проблемы с центровкой хоть и не решаются, но визуально не видны)

В Excel 2003 центровка сбиваться не должна (проверил на 1000 строках)
EducatedFool вне форума Ответить с цитированием
Старый 29.12.2010, 13:15   #7
Bezdar
Форумчанин
 
Регистрация: 03.06.2008
Сообщений: 213
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
В Excel 2003 центровка сбиваться не должна (проверил на 1000 строках)
У меня 2003. Сбивается. Наляпала по-старинке - вручную
Bezdar вне форума Ответить с цитированием
Старый 23.07.2012, 11:16   #8
darkedhart
Новичок
Джуниор
 
Регистрация: 19.07.2012
Сообщений: 1
По умолчанию

Попробуйте продублировать свойство Top после вставки чекбокса, например:
ActiveSheet.CheckBoxes.Add(MyLeft, MyTop, MyWidth, MyHeighth).Select
With Selection
.Caption = ""
.Top = MyTop
End With
darkedhart вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вставка из ячейки листа в название файла (A1_B1.xsl) ramzan_s Microsoft Office Excel 2 01.10.2010 17:16
Вставка текста посредине ячейки Chairo Microsoft Office Excel 0 27.09.2010 11:33
вставка пустой строки относит акт ячейки и копир диап EJIF Microsoft Office Excel 2 05.07.2010 08:09
Запрет смены фокуса чекбокса. Mixasik Общие вопросы Delphi 7 25.02.2009 23:43