ボタンがどの行にあるかを識別するのに役立つこのコードブロックがあります。しかし、上記の行を非表示にすると、ボタンはその非表示行を参照します。例えばボタンが間違った行を参照しています
:ボタンは、行20にあり、私は私が行19と18、ボタンが戻る行18
の両方を非表示にした場合それは本当に奇妙だボタンが戻る行19をクリックすると、行19を非表示にした場合。ここで
は、私は、ボタンを作成するために使用されるブロックである:
Sub AddButtons()
Dim button As button
Application.ScreenUpdating = False
Dim st As Range
Dim sauce As Integer
For sauce = 10 To Range("F" & Rows.Count).End(xlUp).Row Step 1
Set st = ActiveSheet.Range(Cells(sauce, 11), Cells(sauce, 11))
Set button = ActiveSheet.Buttons.Add(st.Left, st.Top, st.Width, st.Height)
With button
.OnAction = "GoToIssue.GoToIssue"
.Caption = "Go To Source"
.Name = "Button" & sauce
End With
Next sauce
Application.ScreenUpdating = True
End Sub
そして、ここでは、それがクリックされています一度ボタンの行のIDを返すブロックです:
Sub GoToIssue()
Dim b As Object
Dim myrow As Integer
Dim hunt As String
Set b = ActiveSheet.Buttons(Application.Caller)
With b.TopLeftCell
myrow = .Row
End With
hunt = Worksheets("Dummy").Range("F" & myrow).Value
'MsgBox hunt
End Sub
あなたの時間とヘルプ感謝しています。
あなたは 'BottomRightCell'を試してみましたか?それは、ボタンのサイズとその拡大方法によって異なります。私はちょうどテストをしました。そして、 'BottomRightCell'は' Visible'セルを表示する点でより信頼性が高いようです。 –