Страницы: 1
RSS
Как увеличить квадрат "галочки"
 
Здравствуйте!
Подскажите как дописать макрос (см. приложенный файл), чтобы большие чекбоксы можно было скопировать (и чтобы они работали) на Лист 2 или 3 и т. д но, при этом, маленькие чекбоксы оставались на Листе 1.
Ссылка на видео по теме
https://www.youtube.com/watch?v=Ki_l2UGaPpc

Копия файла с макросов в приложении.

Спасибо. Всего хорошего.
 
Вариант:
1. Изменить ссылки чекбоксов (хотя это не чекбоксы, а "интерактивные" картинки) с
Код
=$A$1
на
Код
=Лист1!$A$1
2. Изменить в макросе
Код
Range
на
Код
Sheets("Лист1").Range
Но! Чекбоксы будут всегда меняться одновременно на всех листах Excel'я. Чтобы этого не происходило нужно делать их отдельными для каждого листа.
Удивление есть начало познания © Surprise me!
И да пребудет с нами сила ВПР.
 
Есть ли возможность сделать так, чтобы галочки ставились, к примеру, на листе 1 но не ставились бы на листе 2?
Что касается чекбоксов, есть ли способы их увеличивать?
Изменено: Mikhail Tavrin - 24.12.2021 11:54:40
 
Цитата
Mikhail Tavrin написал:
Что касается чекбоксов, есть ли способы их увеличивать?
Конечно есть. Правда, это касается именно чекбоксов, а не их отдельных элементов, в виде квадратика с крыжиком.
И вы уж определитесь,что вас интересует, чекбоксы, или то, что есть в вашем файле.
 
Нужен чекбокс, именно квадратик чуть большего размера чем в Excel в котором можно ставить галочку. Таких квадратиков нужно много до 100 и чтобы их можно копировать/делать на разных листах и чтобы они не были привязаны друг к другу как сделал Ёк-Мок (т.е поставив галочку в одном квадрате, галочка ставится и в других). Короче, нужен квадратик в который можно поставить крыж или галочку но чтобы этот квадратик был больше.
Изменено: Mikhail Tavrin - 24.12.2021 23:05:29
 
Так - никак. Но можно не так.

Пора начинать изучать VBA . Тогда сможете рисовать галки хоть на пол-экрана :)
В модуле листа
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Application.Intersect(Range("F5:F7"), Target) Is Nothing Then Exit Sub
    
    Application.EnableEvents = False
    
    With Target
        If .Value = "" Then .Value = "ь" Else .Value = ""
        .Offset(, 1).Select
    End With
    
    Application.EnableEvents = True
End Sub
 
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=144788&TITLE_SEO=144788-vstavlyat-makrosom-v-tekst-figury-simvoly-otmechennogo-i-neotmechennogo-flazhka-shriftom-wingdings&MID=1167749&tags=Range%2Cmacro%2CVBA%2CVBA+excel%2CXML#message1167749
 
Есть такой акт (см. приложение) в нем много квадратиков (если говорить по простому) которые, конечно, можно было бы заменить на флажки (элементы управления формы) но они очень мелкие, особенно если документ распечатывать на принтере (мелкие до ужаса), можно, конечно, использовать следующий макрос (см. ниже, также файл с примером в приложении) но есть в нем неудобство, когда поставишь галочку, активность ячейки меняется, выделение ячейки перескакивает, что ужасно неудобно. Жаль, что нельзя сделать флажок (элемент управления формы) крупнее! Есть в интернете видео как делают больше флажок (элемент ActiveX)  но там появляется размытость, да и этот флажок (элемент ActiveX) ужасно грузит Exсel, особенно если листов с актами много.
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("F10:F14,E4,B22:B30")) Is Nothing Then
        With Target
            .Font.Name = "Wingdings"
            .Font.Size = 20
            If .Value = Chr(111) Then
                .Value = Chr(254)
            Else
                .Value = Chr(111)
            End If
            .Offset(0, 1).Select
        End With
    End If
End Sub
 
Зачем Вам объекты? Применяйте
Цитата
Типа ЧекБокс.xls
В сообщении №6 то же самое.
 
Mikhail Tavrin,  код следует оформлять соответствующим тегом. Для этого используйте кнопку <...>.
 
Цитата
написал:
Зачем Вам объекты? ПрименяйтеЦитатаТипа ЧекБокс.xls
Не подскажите как в макрос внести изменение, чтобы не происходило перепрыгивание/перескакивание на соседнюю ячейку после того как поставишь галочку?  
 
Эта строка: .Offset(0, 1).Select
 
Цитата
написал:
Эта строка: .Offset(0, 1).Select
О! Спасибо громадное.
Еще:
1) В 2-х объединенных в одну ячейку макрос может работать? К примеру, ячейку F11 и F12 объединить и туда поставить квадрат с галочкой; как тогда в тело макроса прописать эти объединенные ячейки?
2) А как прописать в макрос значение если квадратик с галочкой стоит не в ячейке, а в фигуре надпись (см. приложение).
Изменено: Mikhail Tavrin - 25.12.2021 16:45:23
 
Цитата
Mikhail Tavrin написал:  чтобы не происходило перепрыгивание/перескакивание на соседнюю ячейку
Это сделано для того, чтобы была возможность нажать на ту же ячейку (например, ошибочно поставили флажок)

Цитата
как тогда в тело макроса прописать эти объединенные ячейки?
Не обязательно, достаточно ссылки на верхнюю левую объединенных
 
Цитата
написал:
Цитатакак тогда в тело макроса прописать эти объединенные ячейки?Не обязательно, достаточно ссылки на верхнюю левую объединенных
Можно пример, а то не пойму как это ссылка на верхнюю левую объединенных.
2) А как прописать в макрос значение если квадратик с галочкой стоит не в ячейке, а в фигуре надпись (см. приложение).
 
Например, если у Вас объединены ячейки А1:В3, то укажите только А1.
 
Увы, не работает!
А как прописать в макрос значение если квадратик с галочкой стоит не в ячейке, а в фигуре надпись (см. приложение).
 
А зачем задавать вопрос через сутки после получения ответа на этот вопрос?
Страницы: 1
Наверх