Microsoft Excel'de VBA kullanarak her n'inci öğeyi döndür

Anonim

Birisinin bir sütundaki her n'inci öğeyi nasıl bulabileceğini merak ediyorsanız. Bu makalede, bir listeden her n'inci öğeyi nasıl döndüreceğimizi öğreneceğiz. Sonucu bulmak için VBA kodunu kullanacağız.

Soru: Bir sütundan her n. değeri çıkarmak için bir makro kodu istiyorum. Değerleri bir sayfadan/sütundan başka bir sayfaya/sütun içine çekmeye çalışıyorum. OFFSET gibi bir çok fonksiyon kullanmayı denedim ama sonucu verebilecek formülü bulamadım.

A sütunundaki 100 değerden bir örnek alalım ve her 10 değerden birini bulmak istiyoruz.NS B sütunundaki değer

1'e eşit A1 hücresinden 100'e eşit A100 hücresine kadar olan örnek değerleri; A sütunundaki verilerin anlık görüntüsü aşağıdadır:

Sonuç almak için VB editörünü başlatmak için aşağıdaki adımları izlememiz gerekiyor.

  • Geliştirici sekmesine tıklayın
  • Kod grubundan Visual Basic'i seçin

  • Aşağıdaki kodu standart modüle kopyalayın
 İşlev INDEXN(Aralık Olarak Girdi Aralığı, Tam Sayı Olarak N) Varyant Olarak ', InputRange'den her N'inci öğeyi döndürür' --- Yorum ', işlev için istenen hedef aralığı seçin ve ' --- Yorum ' Ctrl ile bir dizi işlevi olarak girin +Üst Karakter+Enter.' --- Yorum Dim ItemList() As Variant, c As Range, i As Long, iCount As Long i = 0 iCount = 0 ReDim ItemList(1 To InputRange.Cells.Count \ N) InputRange'de Her c İçin i = i + 1 i Mod N = 0 ise iCount = iCount + 1 Hatada Devam Et Sonraki ItemList(iCount) = c.Value On Error GoTo 0 End If Next c INDEXN = ItemList If InputRange.Rows.Count >= InputRange.Columns.Count Sonra INDEXN = Application.WorksheetFunction.Transpose(INDEXN) End If Erase ItemList End Function 

  • B1:B10 aralığındaki her n'inci öğeyi almak için formül şu şekildedir:
  • {=INDEXN($A$1:$A$100, 10)}

Not: bu bir dizi formülüdür; bu nedenle Ctrl + Shift + End tuşlarına birlikte basılmalıdır

  • her 7 almak içinNS A1:A100 aralığındaki değer; son argümanı 10'dan 7'ye değiştireceğiz ve formül
  • {=INDEXN($A$1:$A$100, 7)}

Bu şekilde, her n'inci öğeyi bir sayfadan ana sayfaya döndürebiliriz.

  • Diğer sayfadaki formül, sayfa referansını içerecektir
  • {=INDEXN(Sayfa1!$A$1:$A$100, 10)}

Çözüm: Yukarıdaki Kullanıcı Tanımlı Fonksiyonun yardımıyla, bir sayfadan diğerine her n. öğeyi bulma esnekliğine sahip olabiliriz.

Bloglarımızı beğendiyseniz, Facebook'ta arkadaşlarınızla paylaşın. Ayrıca bizi Twitter ve Facebook'ta da takip edebilirsiniz. Sizden haber almayı çok isteriz, işimizi nasıl iyileştirebileceğimizi, tamamlayabileceğimizi veya yenileyebileceğimizi ve sizin için daha iyi hale getirebileceğimizi bize bildirin. Bize e-posta sitesinde yazın