programing

Excel VBA: 클릭한 단추의 행 가져오기

coolbiz 2023. 7. 9. 21:47
반응형

Excel VBA: 클릭한 단추의 행 가져오기

엑셀에서 특정 범위의 셀을 활성 워크북에서 다른 워크북으로 복사하는 버튼을 만들려고 합니다.고정 범위를 지정하면 이 범위의 복사가 완벽하게 작동하지만 클릭한 단추의 행을 어떻게 파악해야 할지 고민이 됩니다.

모든 행에는 7개 정도의 셀이 있고, 8번째 셀에는 매크로가 연결된 모양(버튼)이 있습니다.사용자가 이 버튼을 누르면 누른 버튼이 포함된 행과 동일한 행에 있는 7개의 셀을 복사해야 합니다.

이 버튼을 눌러도 해당 셀이 활성 상태로 설정되지 않기 때문에 ActiveCell을 사용해도 소용이 없습니다.검색을 많이 했는데 이 값을 구하는 방법을 찾을 수가 없네요.클릭한 버튼의 행 번호를 알게 되면 나머지는 제가 알아서 해결할 수 있습니다.

각각Shape가지다TopLeftCell소유물.모양의 왼쪽 상단 모서리가 있는 셀이 포함되어 있습니다.

사용해 보십시오.

Sub Mainscoresheet() 
     ' Mainlineup Macro
    Dim b As Object, cs As Integer 
    Set b = ActiveSheet.Buttons(Application.Caller) 
    With b.TopLeftCell 
        cs = .Column 
    End With 
    MsgBox "Column Number " & cs 
End Sub 

훌륭한 답변입니다.그나저나 그것은 Rownumber에도 작동합니다!

'Same for rownumbers!
Sub Mainscoresheet() 
     ' Mainlineup Macro
    Dim b As Object, RowNumber As Integer 
    Set b = ActiveSheet.Buttons(Application.Caller) 
    With b.TopLeftCell 
        RowNumber = .Row
    End With 
    MsgBox "Row Number " & RowNumber 
End Sub

이것도 효과가 있어요.생성된 버튼이 위치한 셀을 선택합니다("K" 열에 있었다는 것을 알고 있었지만 계산할 수도 있습니다!).

ActiveSheet.Range("K" & ActiveSheet.Buttons(Application.Caller).TopLeftCell.Row).Select

언급URL : https://stackoverflow.com/questions/6242605/excel-vba-getting-row-of-clicked-button

반응형