Tagastage Microsoft Excelis VBA abil iga n. Üksus

Anonim

Kui te ei tea, kuidas keegi leiab veerust iga n -nda elemendi. Selles artiklis õpime, kuidas tagastada loendist iga n. Tulemuse leidmiseks kasutame VBA koodi.

Küsimus: Soovin, et makrokood eraldaks veerust iga n -nda väärtuse. Proovin tõmmata väärtusi ühelt lehelt / veerult teisele lehele / veergu. Proovisin kasutada paljusid funktsioone, näiteks OFFSET, kuid ei suutnud välja mõelda valemit, mis võib tulemuse anda.

Võtame näiteks veeru A 100 väärtuse ja tahame seda iga 10 kohta teada saadath väärtus veerus B

Prooviväärtused alates lahtrist A1 võrduvad 1 kuni lahtri A100 väärtusega 100; veerus A olevate andmete ülevaade on järgmine:

Tulemuse saamiseks peame VB redaktori käivitamiseks järgima alltoodud samme

  • Klõpsake vahekaarti Arendaja
  • Valige koodirühmas Visual Basic

  • Kopeerige allolev kood standardmoodulisse
 Funktsioon INDEXN (InputRange kui vahemik, N kui täisarv) Variandina 'tagastab iga N-nda elemendi InputRange' --- kommentaar 'valige funktsioonile soovitud sihtvahemik ja' --- kommentaar 'sisestage massiivifunktsioonina Ctrl +Tõstuklahv+Enter. ' --- Kommentaar Dim ItemList () Variandina, c As Range, i Long, iCount As Long i = 0 iCount = 0 ReDim ItemList (1 InputRange.Cells.Count \ N) Iga c InputRange i = i + 1 Kui i Mod N = 0 Siis iCount = iCount + 1 Tõrge Jätka järgmise üksuse loendit (iCount) = c. Väärtuse tõrge GoTo 0 End If Next c INDEXN = ItemList If InputRange.Rows.Count> = InputRange.Columns.Count Then INDEXN = Application.WorksheetFunction.Transpose (INDEXN) End If Erase ItemList End Function 

  • Vahemiku B1: B10 iga n -nda elemendi saamiseks on valem järgmine
  • {= INDEXN ($ A $ 1: $ A $ 100, 10)}

Märkus: see on massiivivalem; seega tuleb klahvikombinatsiooni Ctrl + Shift + End kokku vajutada

  • Et saada iga 7th väärtus vahemikust A1: A100; muudame viimase argumendi 10 -lt 7 -le ja valem on
  • {= INDEXN ($ A $ 1: $ A $ 100, 7)}

Sel viisil saame tagastada iga n-nda eseme ühelt lehelt põhilehele.

  • Teise lehe valem sisaldab leheviidet
  • {= INDEXN (leht 1! $ A $ 1: $ A $ 100, 10)}

Järeldus: Ülaltoodud kasutaja määratletud funktsiooni abil saame paindlikult leida iga n-nda elemendi ühelt lehelt teisele.

Kui teile meeldisid meie ajaveebid, jagage seda oma sõpradega Facebookis. Samuti saate meid jälgida Twitteris ja Facebookis. Tahaksime sinust kuulda, andke meile teada, kuidas saaksime oma tööd täiustada, täiendada või uuendada ning muuta see teie jaoks paremaks. Kirjuta meile meilisaidile