VBA Max -toiminto - Kuinka löytää enimmäismäärä käyttämällä Maxia Excel VBA: ssa?

Sisällysluettelo

Max, kuten nimestä voi päätellä, käytetään selvittämään maksimiarvo tietystä tietojoukosta tai taulukosta, tämä on laskentataulukko-funktio, joten sitä käytetään laskentataulukomenetelmän kanssa taulukkofunktiona, tälle menetelmälle on rajoitettu, koska tämä function ottaa matriisin argumenttina, taulukossa voi olla vain 30 arvoa.

Excel VBA Max -toiminto

Excelissä on useita numeerisia toimintoja. Voimme laskea alueen numeeriset arvot, voimme laskea yhteen ja löytää erän vähimmäisarvon ja maksimiarvon. Erän maksimiarvon löytämiseksi meillä on Excel-funktio nimeltä MAX, joka palauttaa toimitetun numeroalueen maksimiarvon. VBA: ssa meillä ei ole sisäänrakennettua toimintoa nimeltä MAX, jotta saisimme enimmäismäärän. Näemme, miten tätä Excel VBA Max -toimintoa käytetään.

Esimerkki Max-toiminnosta Excel VBA: ssa

Valitettavasti meillä ei ole ylellisyyttä käyttää MAXia VBA: n sisäänrakennettuna toimintona, mutta voimme käyttää tätä toimintoa osana laskentataulukon toimintoluokkaa.

Katso nyt alla oleva koodi.

Koodi:

Ala MAX_esimerkki1 () Himmennä kokonaislukuna Dim b Kokonaisuutena d c Kokonaislukuna Tulos kokonaislukuna a = 50 b = 25 c = 60 Tulos = Laskentatoiminto.Max (a, b, c) MsgBox Tuloksen loppuosa

Yllä olevassa esimerkissä olen ilmoittanut kolme muuttujaa numeron tallentamiseksi.

Dim a kuin kokonaislämpö  Dim b kuin kokonaisluku  Dim c kuten kokonaisluku

Olen ilmoittanut yhden muuttujan lisää tulosten näyttämiseksi.

Himmennä tulos kokonaislukuna.

Kolme ensimmäistä muuttujaa varten olen määrittänyt arvon, kuten 50, 25 ja 60, vastaavasti.

a = 50  b = 25  c = 60

Seuraavalla rivillä olen käyttänyt MAXia VBA-laskentataulukon funktioluokana tallentaaksesi tuloksen muuttujaan "Tulos".

Tulos = WorksheetFunction.Max (a, b, c)

Joten lopuksi näytän arvon VBA: n viestiruudussa. MsgBox-tulos

Suoritan nyt tämän koodin F5: llä tai manuaalisesti ja näen, mikä tulos on viestiruudussa.

Joten tulos on 60.

Kaikista toimitetuista numeroista, eli 50, 25 ja 60, enimmäismäärä on 60.

Edistynyt esimerkki Maxista VBA: ssa

Silmukat ovat VBA: ssa erittäin tärkeitä kaikkien solujen läpi kulkemiseksi ja tuloksen saavuttamiseksi. Näemme, miten VBA MAX yhdistetään silmukoihin, jotta maksimiarvo saadaan numeroluettelosta.

Minulla on luettelo tuotteista ja niiden kuukausittaisesta myynnistä, kuten alla on esitetty.

Nyt haluan tietää jokaisesta tuotteesta, mikä on suurin myynti määrä neljän kuukauden aikana, kuten kuvassa näkyy.

Soveltamalla MAXia exceliin voimme löytää tämän muutamassa sekunnissa.

Nyt näemme, kuinka löytää suurin arvo käyttämällä VBA-koodia.

Alla oleva koodi suorittaa tehtävän löytää kullekin tuotteelle enimmäismäärä.

Koodi:

Sub MAX_Example2 () Dim k kokonaislukuna k = 2-9 soluun (k, 7) .Arvo = WorksheetFunction.Max (alue ("A" & k & ":" & "E" & k)) Seuraava k End Sub

Tämä tunnistaa enimmäismäärän helposti.

Suorita koodi nyt manuaalisesti tai paina F5-näppäintä ja katso tulos alla olevan kuvan mukaisesti.

Käytä alla olevaa koodia saadaksesi kuukausien maksimiarvot.

Koodi:

Sub MAX_Example2 () Dim k kokonaislukuna k = 2-9 soluun (k, 7) .Arvo = WorksheetFunction.Max (alue ("B" & k & ":" & "E" & k)) Solut (k, 8) .Arvo = WorksheetFunction.Index (alue ("B1: E1"), WorksheetFunction.Match _ (solut (k, 7). Arvo, alue ("B" & k & ":" & "E" & k) )) Seuraava k End Sub

VBA max -toiminnon antaman arvon perusteella INDEX-funktio ja MATCH-funktio palauttaa liittyvän kuukauden seuraavalle riville.

Muistettavaa

  • Jos heidän kaksoisnumeronsa on olemassa, se näyttää vain yhden numeron, joka tulee ensin.
  • Tämä on vastakkainen kaava MIN-funktiolle excelissä.
  • MAX ei ole VBA-toiminto. Se on sisäänrakennettu funktio Excelissä, joten käyttämällä laskentataulukon toimintoluokkaa.

Voit ladata tämän Excel-mallin täältä - VBA Max -toimintomalli.

Mielenkiintoisia artikkeleita...