„Excel“ - makrokomandas, skirtas duomenims pateikti pagal kriterijus

Problema

Norėčiau užpildyti duomenis iš vieno lapo į kitą lapą, remiantis tam tikrais kriterijais. Atsižvelgiant į toliau pateiktoje nuorodoje pateiktus pavyzdinius duomenis:

  • Paleiskite duomenis į naują lapą, vadinamą „Lėtas judėjimas“, kai H stulpelis yra didesnis nei 90 ir D stulpelis nėra lygus nuliui.
  • Paleiskite duomenis į naują lapą, vadinamą „Nejudantis“, kai G stulpelis yra nulis, o D stulpelis nėra lygus nuliui.

Sprendimas

Išbandykite šį makrokomandą:

Įdėkite du lapus „Slow moving“ ir „Non Movingt“. Paleiskite šį makrokomandą (makrokomandoje darbalapių pavadinimas turi būti toks, koks yra lapų pavadinimai):

 Sub testas () Dim j Kaip ilgas, k Kaip ilgai atšaukti darbo lapus ("6200_Data") Aktyvuoti k = intervalas ("a6"). Pabaiga (xlDown) .Row for j = 1 į k Jei ląstelės (j, "H") )> 90 ir ląstelės (j, „D“) 0 tada ląstelės (j, „A“). EntireRow.Copy _ darbalapiai („lėtas judėjimas“), ląstelės (eilutės.Skaičiuoti, „A“). .Offset (1, 0) Jei ląstelės (j, "G") = 0 ir ląstelės (j, "D") 0 Tada langeliai (j, "A"). EntireRow.Copy _ darbalapiai ("nejudantys"). Ląstelės (eilutės.Skaičiuoti, "A"). Pabaiga (xlUp) .Ofsetas (1, 0) Kitas j Darbalapiai ("Lėtas judėjimas") UsedRange.Columns.AutoFit Pabaigos pogrupio atšaukimo () darbalapiai ("lėtas perkėlimas") .Cells.Clear Worksheets („Non Moving“) „Cells.Clear End Sub“ 

Ačiū Venkat1926 už šį patarimą.

Ankstesnis Straipsnis Kitas Straipsnis

Geriausi Patarimai