VBA - Kontrollige, kas masinas on väärtus
VBA - Kontrollige, kas masinas on väärtus
Sissejuhatus
Et kontrollida, kas massiivi väärtus on olemas, saame selle elementide kaudu silmus läbi. Siiski on veel üks lahendus! Võite kasutada INDEX () funktsiooni, mis on algupärane Excelis ja kahemõõtmeliste massiivide puhul kasutada INDEX / MATCH funktsiooni kombinatsiooni. Kui aga väärtust ei leita, tagastab rakenduse . Peate arvestama võimalikke vigu ja massiivi muutuja mõõtmeid.See väike funktsioon aitab teid välja!
Funktsiooni Sobitamine kasutamine
Funktsioon EstDans (mot nagu string, tabl) kui loogilineDim Dimension As Byte, j
Vea jätkamisel Järgmine
Kui IsError (UBound (Tabl, 2)) Seejärel Dimension = 1 Else Dimension = 2
Viga GoTo 0
Valige Case Dimension
1. juhtum
Vea jätkamisel Järgmine
EstDans = Application.Match (mot, Tabl, 0)
Viga GoTo 0
2. juhtum
J = 1 UBoundile (Tabl, 2)
Vea jätkamisel Järgmine
EstDans = Application.Match (mot, Application.Index (Tabl,, j), 0)
Viga GoTo 0
Kui EstDans = True Exit For
Järgmine
Lõpeta valik
Lõppfunktsioon
Funktsiooni käivitamine
Sub-test ()Dim Tb (), i As Integer
'tb 2 mõõtmed:
Tb = vahemik ("A2: C16")
Debug.Print EstDans (MaValeur, Tb)
Kustuta Tb
'tb 1 mõõde:
ReDim Preserve Tb (15)
I = 0 kuni 14
Tb (i) = rakud (i + 2, 1)
Järgmine
Debug.Print EstDans (MaValeur, Tb)
Lõpeta alam
Lingi kasutamine
Selle funktsiooni ülesehitus on sarnane Matchiga .Funktsioon BoucleSurTabl (mot nagu string, Tb)Dim dimensioon kui bait, i nii pikk, j nii kaua
Vea jätkamisel Järgmine
Kui IsError (UBound (Tb, 2)) siis Dimension = 1 Else Dimension = 2
Viga GoTo 0
Valige Case Dimension
1. juhtum
J = LBound (Tb) UBoundile (Tb)
Kui Tb (j) = mot Siis BoucleSurTabl = True: Exit Function
Järgmine
2. juhtum
I = LBound (Tb, 1) UBoundile (Tb, 1)
J = LBound (Tb, 2) UBoundile (Tb, 2)
Kui Tb (i, j) = mot Siis BoucleSurTabl = True: Exit Function
Järgmine j
Järgmine i
Lõpeta valik
Lõppfunktsioon
Vaatlused
Kõigi koefitsientide korral saad parema tulemuse silmusfunktsiooniga suurte massiivide puhul kui rakenduse.2-mõõtmelise massi testimine järgmise vahemikuga ("A1: Y20002").
- Sobivuse funktsiooni kasutamine: 8.300781 sekundit.
- Silmus kasutades: 0, 4375 sekundit.
Ühemõõtmelise massiivi testimine:
- Sobivuse funktsiooni kasutamine: instant
- Silmus kasutades: 0.015625 sekundit
Lae alla link
- Saate alla laadida proovi töövihiku: //cjoint.com/?DHfpeqMBvRK