Bir satır, hangi satır içinde olduğunu belirlemek yardımcı olan bu kod bloğum var. Ancak, yukarıdaki satırı gizlediğimde, düğme gizli satır başvuruyor. ÖrneğinDüğme excel içinde yanlış satır başvuruyor
: düğmesi satırda 20 ve ben hem satırları 19 ve 18, düğme döner satır Gerçekten garip 18.
gizlerseniz ben düğme döner satır 19. tıklayarak, satır 19 gizlemek durumunda. İşte
Ben düğmesi oluşturmak için kullanılan bloktur: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
Ve burada tıklandığında kez düğmeye satır kimliği döndürür blok:
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
Kişisel zaman ve yardım takdir edilir.
Public Function FindButtonRow(btn As Object) As Long
Dim cell As Excel.Range
'-------------------------------------------------
Set cell = btn.TopLeftCell
Do While cell.EntireRow.Hidden
Set cell = cell.Offset(1, 0)
Loop
FindButtonRow = cell.row
End Function
O TopLeftCell
yöntemi tarafından döndürülen hücre gizli satırda bulunmayan denetler eğer:
Eğer 'BottomRightCell' denediniz mi? Görünüşe göre, düğmenin boyutuna ve nasıl uzandığına bağlı. Sadece bir grup test yaptım ve 'Görünür' hücrelerini gösterme açısından 'BottomRightCell' daha güvenilir görünüyor. –