Дублирование кнопок Excel с относительной ссылкой

Я создаю книгу инвентаризации. В каждой строке содержится информация о номере детали, включая количество. Я хочу добавить пару кнопок:

  • тот, который добавит один к инвентаризации
  • тот, который будет вычесть из подсчета

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

там будет 100 строк и изменение управления вручную не практично. В идеале решение создаст 1000 строк с помощью созданных командных кнопок.

18
задан Jason Aller
24.04.2023 14:21 Количество просмотров материала 3094
Распечатать страницу

1 ответ

вот идея. Как насчет того, чтобы создать только 2 кнопки (вместо сотен) и заставить их двигаться, чтобы следить за выбором?

EDIT: после некоторого обсуждения и разъяснения OP Phil попросил кнопки обновления инвентаря появляться рядом с выбранной ячейкой, когда пользователь нажимает на столбец F, и быть скрытым в противном случае.

видео ниже показывает работу сопровождающий кнопки:

enter image description here

Лист есть простой макрос, который отображает и перемещает кнопки:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 6 Then
        ActiveSheet.Shapes("Picture 1").Visible = True
        ActiveSheet.Shapes("Picture 2").Visible = True
        With ActiveSheet.Shapes("Picture 1")
            .Left = Target.Offset(, 2).Left
            .Top = Target.Offset(0).Top
        End With
        With ActiveSheet.Shapes("Picture 2")
            .Left = Target.Offset(, 3).Left
            .Top = Target.Offset(0).Top
        End With
    Else
        ActiveSheet.Shapes("Picture 1").Visible = False
        ActiveSheet.Shapes("Picture 2").Visible = False
    End If    
End Sub

Я не мог изменить цвет обычных командных кнопок Excel, поэтому вставлял изображения и назначал макросы объектам изображений. Вот почему они упоминаются как фигуры ("Рисунок 1") в коде выше. При использовании обычных командных кнопок Excel ссылка изменится на имя кнопки.

сами кнопки имеют еще более простой код:

Sub Button1_Click()
    ActiveCell.Value = ActiveCell.Value + 1
End Sub

Sub Button2_Click()
    ActiveCell.Value = ActiveCell.Value - 1
End Sub

Я надеюсь, что это помогает, и удача.

0
отвечен Bandersnatch 2023-04-25 22:09

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх