Bir sonraki yeni içeriğe geçmek için kısayol (Excel)


2

Geçerli hücreyle aynı içeriğe sahip bir satır veya sütundaki son hücreye gitmek ve seçmek için bir kısayol olup olmadığını bilmek istiyorum. Yani ctrl + ok, veri dizisinin kenarına taşınır, ancak görüntülenen aynı içeriğin bir dizisinin kenarına (yani aynı sonuçları, ancak aynı formülü değil) taşımak ve ideal olarak hepsini seçmek isterim.

Örneğin. "1" ile 100 hücreli bir sütunu, ardından "2" ile 100 hücreyi ve ardından "3" ile 100 hücreli bir sütunum var. "2" olan hücrelerden birini seçersem, kısayol, "3" ten hemen önce "2" olan son hücreyi seçer.

Yanıt, hücrelerin görüntülenen sonucu ile hücrelerin içeriği arasındaki farklarla başa çıkabilmek harika olurdu (yani "2" görüntüleyen sütunun hücreleri aslında "= 1 + 1" ve "= 3-1" ).

Yanıtlar:


1

Excel'de yerleşik olarak böyle bir işlev yoktur, ancak bunu yapabilirsiniz.

Excel 2010 Klavye Kısayolları , Excel 2013 Klavye Kısayolları , Excel Çevrimiçi Klavye Kısayolları

İstediğiniz klavye kısayolunu simüle etmek için VBA’yı kullanarak Application.OnKey Makroya klavye kombinasyonu atama yöntemi. Fikir aşağıdaki gibidir: Workbook_Open etkinliğinde, makrolara klavye komutları atayın Workbook_BeforeClose olayında, aynı komutları hiçbir şeye atama (varsayılana sıfırla) Bir modülde, bu klavye komutları için çalıştırmak istediğiniz alt yordamları yazın.

Şimdi, çalışma kitabını her açtığınızda, seçtiğiniz klavye komutları istediğiniz her şeyi yapacak makroları çalıştıracaktır. Bu, sadece levha etrafında hareket etmekten daha iyidir. Örneğimde Aşağı ve Yukarı için CTRL + D ve CTRL + U tuşlarını atadım, ancak sizin için en anlamlı olanı seçersiniz. Bu klavye komutlarının her dosya için çalışmasını istiyorsanız, öncül onları kişisel makro çalışma kitabınıza kaydetmeniz dışında aynıdır.

Dosyaları nasıl ekleyeceğimi bilemiyorum, bu yüzden kod burada. (Bu kodun kaba ve hızlı olduğuna dikkat edin. En sağlam kodu değil en basit örneği istemiştim.)

"ThisWorkbook" nesnesinde:

Private Sub Workbook_Open()
    Application.OnKey "^d", "findLastOfThis"
    Application.OnKey "^u", "findFirstOfThis"
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.OnKey "^d"
    Application.OnKey "^u"
End Sub

Bir modülde:

Option Explicit
Private Sub findLastOfThis()
    Dim val As Variant
    Dim r As Long, c As Long
    val = ActiveCell.Value
    c = ActiveCell.Column
    For r = ActiveCell.Row To ActiveSheet.UsedRange.Rows.Count
        If Cells(r, c).Value <> val Then Exit For
    Next
    r = r - 1
    Cells(r, c).Activate
End Sub

Private Sub findFirstOfThis()
    Dim val As Variant
    Dim r As Long, c As Long
    val = ActiveCell.Value
    c = ActiveCell.Column
    For r = ActiveCell.Row To 1 Step -1
        If Cells(r, c).Value <> val Then Exit For
    Next
    r = r + 1
    Cells(r, c).Activate
End Sub
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.