Pateikite kiekvieną n-ąjį elementą naudodami „Microsoft Excel“ VBA

Anonim

Jei jums įdomu, kaip kas nors gali rasti kiekvieną n -ąjį stulpelio elementą. Šiame straipsnyje sužinosime, kaip grąžinti kiekvieną n-ąjį elementą iš sąrašo. Norėdami rasti rezultatą, naudosime VBA kodą.

Klausimas: Noriu, kad makro kodas iš stulpelio išgautų kiekvieną n -ąją reikšmę. Bandau perkelti vertes iš vieno lapo / stulpelio į kitą lapą / stulpelį. Bandžiau naudoti daugybę funkcijų, tokių kaip OFFSET, bet negalėjau išsiaiškinti formulės, kuri gali duoti rezultatą.

Paimkime 100 verčių pavyzdį A stulpelyje ir norime sužinoti kas 10tūkst vertė B skiltyje

Imties vertės, pradedant nuo ląstelės A1, lygios 1 iki ląstelės A100, lygios 100; Toliau pateikiamas A stulpelio duomenų momentinis vaizdas:

Norėdami gauti rezultatą, turime atlikti toliau nurodytus veiksmus, kad paleistume VB redaktorių

  • Spustelėkite skirtuką Kūrėjas
  • Kodo grupėje pasirinkite „Visual Basic“

  • Nukopijuokite žemiau esantį kodą į standartinį modulį
 Funkcija INDEXN („InputRange“ kaip diapazonas, N kaip sveikasis skaičius) Kaip variantas „grąžina kiekvieną N-ąjį elementą iš„ InputRange “--- Komentaras“ pasirinkite norimą funkcijos tikslinį diapazoną ir „--- Komentaras“ įveskite kaip masyvo funkciją naudodami „Ctrl“ +„Shift“+„Enter“. “ --- Komentaras Dim ItemList () kaip variantas, c kaip diapazonas, i tol, iCount as long i = 0 iCount = 0 ReDim ItemList (1 iki InputRange.Cells.Count \ N) kiekvienam c InputRange i = i + 1 Jei i Mod N = 0, tada „iCount“ = „iCount“ + 1 įjungus klaidą, atnaujinkite „Next ItemList“ („iCount“) = c. „On On Onror“ klaida „GoTo 0 End If Next“ INDEXN = Application.WorksheetFunction.Transpose (INDEXN) Pabaiga, jei ištrinti elementų sąrašo pabaigos funkciją 

  • Norėdami gauti kiekvieną n -ąjį elementą diapazone B1: B10, formulė yra tokia
  • {= INDEKSAS (1 USD: 1 USD: 100 USD, 10 USD)}

Pastaba: tai masyvo formulė; todėl Ctrl + Shift + End klavišus reikia paspausti kartu

  • Norėdami gauti kas 7tūkst vertė iš diapazono A1: A100; paskutinį argumentą pakeisime iš 10 į 7 ir formulė bus
  • {= INDEKSAS (1 USD: 1 USD: 100 USD, 7 USD)}

Tokiu būdu mes galime grąžinti kiekvieną n-ąjį elementą iš vieno lapo į pagrindinį lapą.

  • Kito lapo formulėje bus lapo nuoroda
  • {= INDEXN (1 lapas! $ A $ 1: $ A $ 100, 10)}

Išvada: Naudodami aukščiau nurodytą vartotojo apibrėžtą funkciją, galime lanksčiai sužinoti kiekvieną n-ąjį elementą iš vieno lapo į kitą.

Jei jums patiko mūsų tinklaraščiai, pasidalykite jais su draugais „Facebook“. Taip pat galite sekti mus „Twitter“ ir „Facebook“. Mes norėtume išgirsti jūsų nuomonę, praneškite mums, kaip galime patobulinti, papildyti ar naujovinti savo darbą ir padaryti jį geresnį. Parašykite mums el