-1

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

Кто-нибудь может предложить мне несколько советов?

2 ответа2

0

Мне удалось создать этот код с помощью вкладов в этом и других подобных форумах. Поскольку я новичок в VBS, этот код выглядит сложным, но он делает то, что мне было нужно.

Я создал 4 листа и 4 кнопки. Каждый лист включает в себя 3 кнопки. Каждая кнопка позволяет вырезать, вставлять и окрашивать строку, которая была предварительно выбрана щелчком мыши по любой ячейке в строке. 3 кнопки относятся к 3 другим листам. Таким образом, линии могут перемещаться между 4 листами и будут соответственно окрашены.

Sub Button2_Click()
    Application.ScreenUpdating = False

    Dim strSheetName, strCellAddress As String
    strSheetName = ActiveSheet.Name
    strCellAddress = ActiveCell.Address(False, False)

    Rows(ActiveCell.Row).Cut
    Sheets("Active").Select
    Range("A4").Rows("1:1").Insert Shift:=xlDown
    Range("A4").Interior.Color = RGB(0, 255, 0)
    Application.CutCopyMode = False

    Range("A" & ActiveCell.Row).Select
    Sheets(strSheetName).Select
    Range(strCellAddress).Select

    Rows(ActiveCell.Row).Delete

    Application.ScreenUpdating = True
End Sub
-1

Вы можете использовать ActiveCell.Address в вашем макросе, который возвращает адрес выбранной в данный момент ячейки или другой атрибут ActiveCell .

Пример заполнения всей строки активной ячейки красным при нажатии кнопки Button1:

Sub Button1_Click()

    ActiveCell.EntireRow.Interior.Color = RGB(255, 0, 0)

End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .