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

Max, kuten nimestä käy ilmi, käytetään selvittämään maksimiarvo tietystä tietojoukosta tai taulukosta, tämä on laskentataulukko-funktio, joten sitä käytetään laskentataulukomenetelmän kanssa laskentataulukko-funktiona, 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 = Laskentatehtävä.Maks (a, b, c) MsgBox Tuloksen loppu 

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.

a = 50 b = 25 c = 60

Seuraavalla rivillä olen soveltanut MAXia VBA-laskentataulukon funktioluokkana tallentamaan 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 Excel VBA: ssa

Silmukat ovat erittäin tärkeitä VBA: ssa kaikkien solujen läpi kulkemiseksi ja tuloksen saavuttamiseksi. Näemme, kuinka 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 myyntihinta neljän kuukauden aikana, kuten kuvassa näkyy.

Soveltamalla MAXia excelissä löydämme tämän muutamassa sekunnissa.

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

Koodin alapuolella suoritetaan tehtävän löytäminen kunkin kohteen 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 maksimiarvot kuukauden nimi.

Koodi:

 Sub MAX_Example2 () Dim k kokonaislukuna k = 2-9 soluun (k, 7) .Arvo = WorksheetFunction.Max (alue ("B" & k & ":" & "E" & k)) Solut (k, 8) .Value = 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 palauttavat 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-funktio, 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


$config[zx-auto] not found$config[zx-overlay] not found