Vratite svaku n-tu stavku koristeći VBA u programu Microsoft Excel

Anonim

U slučaju da se pitate kako netko može pronaći svaku n -tu stavku u stupcu. U ovom ćemo članku naučiti kako vratiti svaku n-tu stavku s popisa. Za pronalaženje rezultata koristit ćemo VBA kôd.

Pitanje: Želim da makro kôd izdvoji svaku n -tu vrijednost iz stupca. Pokušavam povući vrijednosti s jednog lista / stupca u drugi list / stupac. Pokušao sam koristiti mnoge funkcije poput OFFSET -a, ali nisam uspio shvatiti formulu koja može dati rezultat.

Uzmimo primjer 100 vrijednosti u stupcu A i želimo saznati svakih 10th vrijednost u stupcu B

Vrijednosti uzorka počevši od ćelije A1 jednake 1 do ćelije A100 jednake 100; slijedi snimak podataka u stupcu A:

Da bismo dobili rezultat, moramo slijediti korake u nastavku za pokretanje VB uređivača

  • Kliknite karticu Developer
  • Iz grupe kodova odaberite Visual Basic

  • Kopirajte donji kod u standardni modul
 Funkcija INDEXN (InputRange As Range, N As Integer) As Variant 'vraća svaku N-tu stavku iz InputRange' --- Comment 'odaberite željeni raspon cilja za funkciju i' --- Comment 'unesite kao funkciju niza s Ctrl +Shift+Enter. ' --- Komentiraj Dim ItemList () kao varijantu, c kao raspon, i kao dugo, iCount sve dok i = 0 iCount = 0 ReDim ItemList (1 do InputRange.Cells.Count \ N) Za svaki c U InputRange i = i + 1 Ako je i N N = 0 Tada je iCount = iCount + 1 Uključeno Greška Nastavi sljedeći popis stavki (iCount) = c.Vrijednost na pogrešci Idi na 0 Završi ako je sljedeći c INDEKSN = ItemList Ako InputRange.Rows.Count> = InputRange.Columns.Count Zatim INDEXN = Application.WorksheetFunction.Transpose (INDEXN) End If Erase ItemList End Funkcija 

  • Da bi svaka n -ta stavka bila u rasponu B1: B10, formula je
  • {= INDEKSN ($ A $ 1: $ A $ 100, 10)}

Napomena: ovo je formula niza; stoga se tipke Ctrl + Shift + End moraju pritisnuti zajedno

  • Da biste dobili svaki 7th vrijednost iz raspona A1: A100; promijenit ćemo zadnji argument s 10 na 7 i formula će biti
  • {= INDEKSN ($ A $ 1: $ A $ 100, 7)}

Na ovaj način možemo vratiti svaku n-tu stavku s jednog lista na glavni list.

  • Formula u drugom listu sadržavat će referencu lista
  • {= INDEKSN (List1! $ A $ 1: $ A $ 100, 10)}

Zaključak: Uz pomoć gore navedene korisnički definirane funkcije možemo imati fleksibilnost u pronalaženju svake n-te stavke s jednog lista na drugi.

Ako vam se sviđaju naši blogovi, podijelite ih sa svojim prijateljima na Facebooku. Također nas možete pratiti na Twitteru i Facebooku. Voljeli bismo čuti vaše mišljenje, javite nam kako možemo poboljšati, nadopuniti ili inovirati svoj rad i učiniti ga boljim za vas. Pišite nam na web stranici e -pošte