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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2021, 15:34   #1
Dedserv
Новичок
Джуниор
 
Регистрация: 07.03.2021
Сообщений: 2
По умолчанию VBA Проверка Чекбокса и копирование с другого листа

Добрый день!
Начал читать и гуглить по VBA неделю назад, знания минимальны, гуглю решения проблемы 2 дня, но ничего не выходит.

За помощь готов кинуть 100р на киви

Ситуация следующая:

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

Пробовал через IF, но постоянно выдает разные ошибки.

Нужно, чтобы при нажатии на чекбокс копироавлись ячейки A6 и C6, но если я потом опять сниму чекбокс, то опять при нажатии на кнопку копировались старые ячейки A4 и C4.



Во вложении сам файл.
Макросы сейчас только на кнопки:

Код:
Sub Женщина()
Worksheets("Данные").Range("A4").Copy
End Sub
Sub Корова()
Worksheets("Данные").Range("A6").Copy
End Sub
Буду рад ответам и комментам.
Если что есть телега: @Dedserv

Заранее большое спасибо!
Вложения
Тип файла: rar file.rar (16.9 Кб, 1 просмотров)

Последний раз редактировалось Dedserv; 07.03.2021 в 16:09. Причина: Добавил картинку + 100р
Dedserv вне форума Ответить с цитированием
Старый 07.03.2021, 17:10   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Sub Женщина()
  Dim Adr$
  Adr = IIf(ActiveSheet.Shapes("Check Box 4").DrawingObject, "C4", "A4")
  Worksheets("Данные").Range(Adr).Copy
End Sub

Sub Корова()
  Dim Adr$
  Adr = IIf(ActiveSheet.Shapes("Check Box 4").DrawingObject, "C6", "A6")
  Worksheets("Данные").Range(Adr).Copy
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 07.03.2021, 18:02   #3
Dedserv
Новичок
Джуниор
 
Регистрация: 07.03.2021
Сообщений: 2
По умолчанию

IgorGO, Спасибо, но что-то не получилось.

Если что вот так решил свой вопрос:

Код:
Sub m1()
    Dim wrk As Worksheet
    Set wrk = ThisWorkbook.Worksheets(2)
    Dim bChecked As Boolean
    bChecked = (ActiveSheet.Shapes("Флажок 1").OLEFormat.Object.Value = 1)
    
    If bChecked Then
        wrk.Range("A2").Copy
    Else
        wrk.Range("A1").Copy
    End If
End Sub

Sub m2()
    Dim wrk As Worksheet
    Set wrk = ThisWorkbook.Worksheets(2)
    Dim bChecked As Boolean
    bChecked = (ActiveSheet.Shapes("Флажок 1").OLEFormat.Object.Value = 1)
    
    If bChecked Then
        wrk.Range("B2").Copy
    Else
        wrk.Range("B1").Copy
    End If
End Sub
Dedserv вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос создания нового листа (заданного формата) с переносом данных с другого листа alpochino Помощь студентам 0 23.04.2019 10:47
нужно чтобы при выборе одного чекбокса автоматически снималась галочка с ранее выбраного чекбокса Bogdan! Помощь студентам 4 16.03.2018 09:00
Поиск, сравнение,копирование, вставка части таблицы из другого листа zoro9 Microsoft Office Excel 0 25.05.2016 11:31
Удаление с другого листа выбранных ячеек (VBA) terredis Помощь студентам 4 25.03.2013 01:22
Ссылка ячеек одного листа на ячейки другого листа n0str0m0 Microsoft Office Excel 10 31.12.2011 12:11