Как назначить имя флажка для ячейки в Excel - PullRequest
0 голосов
/ 17 февраля 2020

Я создал флажок в Excel, и мне бы хотелось, чтобы, когда я нажимал на имя флажка, он был назначен ячейке на другом листе.

как я могу это сделать?

Вот то, что я пытался, но я получаю ошибку 424

Private Sub checkbox1_click()
Worksheets("Produits").Range("A1") = checkbox1.Caption
End Sub

Ps: я использую Office2019

Ответы [ 2 ]

0 голосов
/ 17 февраля 2020

Для простоты я буду предполагать, что ваш флажок находится на рабочем листе с именем Test. Я также предполагаю, что когда флажок снят, соответствующая ячейка должна быть очищена.

Для флажка типа ActiveX с именем CheckBox1 ваш код должен находиться в той же самой таблице как флажок и должен выглядеть следующим образом:

Option Explicit
Sub CheckBox1_Click()

Dim sht As Worksheet

Set sht = ThisWorkbook.Worksheets("Produits")
If CheckBox1.Value Then
    sht.Range("A1") = CheckBox1.Caption
Else
    sht.Range("A1").ClearContents
End If
End Sub

Для типа Контроль формы типа флажка с именем Check Box 2 ваш код должен находиться в модуле и должен выглядеть так :

Option Explicit

Sub CheckBox2_Click()
Dim cb As CheckBox
Dim sht1 As Worksheet
Dim sht2 As Worksheet

Set sht1 = ThisWorkbook.Worksheets("Test")
Set sht2 = ThisWorkbook.Worksheets("Produits")

Set cb = sht1.CheckBoxes("Check Box 2") 'whatever the name of your checkbox is...

If cb.Value = 1 Then
    sht2.Range("A2") = cb.Caption
Else
    sht2.Range("A2").ClearContents
End If
End Sub
0 голосов
/ 17 февраля 2020

Вы забыли о. Значение Попробуйте что-то вроде этого:

ActiveWorkbook.Sheets("YourSheet").Range("A1").Value = CheckBox1.Caption

Но я не знаю, какой смысл в вашем деле. Может быть, вы будете оштрафованы таким образом, более полезным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...