આ ટ્યુટોરીયલ પ્રોગ્રામિંગ ઉદાહરણોની મદદથી VBA એરે, વિવિધ એરે પ્રકારો, વેરિઅન્ટ એરે અને એરે પદ્ધતિઓ સમજાવશે:
એક નિયમિત VBA ચલ એ પ્લેસ હોલ્ડર છે જે સ્ટોર કરે છે એક ડેટાનું મૂલ્ય. તે 1 થી 1 સંબંધ ધરાવે છે એટલે કે 1 મૂલ્ય માટે 1 ચલ.
હવે એક જ પ્રકારના બહુવિધ મૂલ્યોને સંગ્રહિત કરવાની કલ્પના કરો. બહુવિધ વેરીએબલ બનાવવાને બદલે, તમે માત્ર એક ચલ બનાવી શકો છો અને તમામ સમાન પ્રકારની કિંમતો સ્ટોર કરી શકો છો. આ ચલને ARRAY કહેવામાં આવે છે.
આ ટ્યુટોરીયલમાં, ફિક્સ્ડ અને ડાયનેમિક જેવા વિવિધ પ્રકારના એરેની સાથે તમને VBA એરે, એક-પરિમાણીય અને દ્વિ-પરિમાણીય એરે શું છે તે જાણવા મળશે. અમે VBA માં ઉપયોગમાં લેવાતી વિવિધ એરે પદ્ધતિઓ પણ સમજીશું.
VBA એરે
એરે એ એક વિશિષ્ટ પ્રકારનું ચલ છે જે સમાન ડેટા પ્રકારના બહુવિધ મૂલ્યોને સંગ્રહિત કરી શકે છે. .
ઉદાહરણ તરીકે, જો તમારી પાસે 100 કર્મચારીઓના નામ છે, તો ડેટા ટાઇપ સ્ટ્રિંગના 100 વેરિયેબલ બનાવવાને બદલે, તમે ટાઇપ સ્ટ્રિંગનું એક એરે વેરીએબલ બનાવી શકો છો અને 100 વેલ્યુ અસાઇન કરી શકો છો. સમાન એરે વેરીએબલમાં.
વન-ડાયમેન્શનલ એરે
એરે જે તમામ ઘટકો એક જ પંક્તિમાં અથવા એક કૉલમમાં હોય તેને વન-ડાયમેન્શનલ એરે કહેવાય છે. વર્ગના તમામ વિદ્યાર્થીઓના નામ એક જ સ્તંભમાં સૂચિબદ્ધ કરવું એ એક-પરિમાણીય એરેનું ઉદાહરણ છે. તે દર્શાવ્યા મુજબ જાહેર કરવામાં આવે છેનીચે બતાવ્યા પ્રમાણે એરે જાહેર કરવામાં આવે છે.
Dim ArrayName(FirstIndex To LastIndex, FirstIndex To LastIndex) DataType તરીકે.
ઉદાહરણ: ડિમ માર્ક્સ(1 થી 3 , 0 થી 2) પૂર્ણાંક તરીકે
પ્ર #3) રેન્જને એરેમાં કેવી રીતે કન્વર્ટ કરવી?
જવાબ: આપણે ટ્રાન્સપોઝ ફંક્શનનો ઉપયોગ કરી શકીએ છીએ શ્રેણીને એરેમાં કન્વર્ટ કરવા માટે. આ કોડ માયસ બનાવશે>જવાબ: વેરિઅન્ટ એરે તેના અનુક્રમણિકા માટે તમામ પ્રકારના ડેટા પ્રકારો સ્વીકારશે એટલે કે તમે એક જ એરેમાં વિવિધ પ્રકારના મૂલ્યો સંગ્રહિત કરી શકો છો.
ઉદાહરણ:
ડિમ એરેડેટા(3) વેરિઅન્ટ તરીકે
એરેડેટા(0) = “વિકાસ વિપલ”
એરેડેટા(1) = 411234567890#
દરમિયાન એરેનું કદ બદલવાની રીતો રનટાઇમ અને રેડિમ પ્રિઝર્વનો ઉપયોગ કરીને મૂલ્યો પણ સાચવવા ઉદાહરણો સાથે ચર્ચા કરવામાં આવી હતી. અંતે, અમે એરે પદ્ધતિઓ શીખ્યા જે અમને ઘણી કામગીરી કરવામાં મદદ કરશે.
નીચે.ડિમ એરેનામ(લોઅરબાઉન્ડ ટુ અપરબાઉન્ડ) ડેટાટાઈપ તરીકે
એરે જાહેર કરવાની બહુવિધ રીતો છે. નીચે કેટલાક ઉદાહરણો આપેલ છે.
ઉદાહરણ:
#1) ડિમ માયએરેઉદાહરણ(0 થી 3) પૂર્ણાંક તરીકે
સ્થાન 0,1,2,3 સાથે એરે બનાવે છે જે પૂર્ણાંક મૂલ્યોને સ્વીકારશે.
#2) ડિમ MyArray2(3) સ્ટ્રિંગ તરીકે
0 માંથી ડિફોલ્ટ 3 સુધી અને સ્થાન 0,1,2,3 સાથે એરે બનાવે છે જે સ્ટ્રિંગ મૂલ્યોને સ્વીકારશે.
#3) ડિમ માયએરે2(13 થી 15) ડબલ તરીકે
13 એટલે કે 13, 14 અને 15 થી શરૂ થતી એરે બનાવે છે અને ડબલ મૂલ્યો સ્વીકારે છે. અમે નીચલા બાઉન્ડનો ઉલ્લેખ 13 તરીકે કર્યો છે, તેથી એરે 0 ને બદલે સ્થાન 13 થી મૂલ્યો ફાળવવાનું શરૂ કરશે.
ચાલો એક સરળ કોડ બનાવીએ અને એરે ઘોષણાની બધી 3 રીતોને સમજીએ.
નોંધ: VB કોડ લખવા માટે Microsoft Excel ખોલો (સમર્થિત સંસ્કરણો Excel 2007, 2010, 2013, 2016, 2019 છે). વિકાસકર્તા ટૅબ -> પર નેવિગેટ કરો. વિઝ્યુઅલ બેઝિક (વૈકલ્પિક રીતે શોર્ટકટ Alt+F11 નો ઉપયોગ કરો). VB એડિટરમાં, Insert -> પર ક્લિક કરો. મોડ્યુલ અને નીચેનો કોડ પેસ્ટ કરો.
વિવિધ પ્રકારની ઘોષણાઓ દર્શાવતી નીચેની પ્રક્રિયાને ધ્યાનમાં લો.
Private Sub arrayExample1() Dim firstQuarter(0 To 2) As String ‘creates array with index 0,1,2 firstQuarter(0) = "Jan" firstQuarter(1) = "Feb" firstQuarter(2) = "Mar" MsgBox "First Quarter in calendar " & " " & firstQuarter(0) & " " & firstQuarter(1) & " " & firstQuarter(2) End Sub Private Sub arrayExample2() Dim secondQuarter(2) As String ‘creates array with index 0,1,2 secondQuarter(0) = "April" secondQuarter(1) = "May" secondQuarter(2) = "June" MsgBox "Second Quarter in calendar " & " " & secondQuarter(0) & " " & secondQuarter(1) & " " & secondQuarter(2) End Sub Private Sub arrayExample3() Dim thirdQuarter(13 To 15) As String ‘creates array with index 13,14,15 thirdQuarter(13) = "July" thirdQuarter(14) = "Aug" thirdQuarter(15) = "Sep" MsgBox "Third Quarter in calendar " & " " & thirdQuarter(13) & " " & thirdQuarter(14) & " " & thirdQuarter(15) End Sub
F5 દબાવો અથવા ટૂલબાર પર રન બટન દબાવો કોડ એક્ઝીક્યુટ કરવા માટે.
રેગ્યુલર વેરીએબલ વિ એરે વેરીએબલ
હવે આપણે જાણીએ છીએ કે વન-ડાયમેન્શનલ એરે કેવી રીતે કામ કરે છે. તો ચાલો એ સમજવા માટે થોડો સમય કાઢીએ કે શા માટે એરે ખૂબ મહત્વપૂર્ણ છેપ્રોગ્રામિંગ ભાષાઓ.
ધારો કે તમારે 5 કર્મચારીઓનો પગાર દાખલ કરવાની જરૂર છે. નિયમિત વેરીએબલનો ઉપયોગ કરીને આ પ્રાપ્ત કરવા માટે, તમારે 5 વેરીએબલ બનાવવાની જરૂર છે.
Public Sub RegularVariable() Dim shet As Worksheet Set shet = ThisWorkbook.Worksheets("Sheet1") ' Declare variable for each student Dim Emp1 As String Dim Emp2 As String Dim Emp3 As String Dim Emp4 As String Dim Emp5 As String ' Read student marks from cell Emp1 = shet.Range("A" & 2).Value Emp2 = shet.Range("A" & 3).Value Emp3 = shet.Range("A" & 4).Value Emp4 = shet.Range("A" & 5).Value Emp5 = shet.Range("A" & 6).Value ' Print student marks Debug.Print "Emp Name" Debug.Print Emp1 Debug.Print Emp2 Debug.Print Emp3 Debug.Print Emp4 Debug.Print Emp5 End Sub
હવે એરે વેરીએબલનો ઉપયોગ કરીને સમાન કોડ બનાવીએ.
Option Explicit Public Sub ArrayVarible() Dim shet As Worksheet Set shet = ThisWorkbook.Worksheets("Sheet1") Dim Employee(1 To 6) As String Dim i As Integer For i = 1 To 6 Employee(i) = shet.Range("A" & i).Value Debug.Print Employee(i) Next i End Sub
અહીં, અમે માત્ર એક એરે વેરીએબલનો ઉપયોગ કર્યો છે જે તમામ કર્મચારીઓના નામોને સંગ્રહિત કરશે. ધારો કે તમારે 100 વધુ કર્મચારીઓના નામ ઉમેરવાની જરૂર છે તો તમારે માત્ર એરેનું કદ બદલવાની જરૂર છે અને નવું ચલ બનાવવાની જરૂર નથી.
આનાથી કોડમાં લાઇનોની સંખ્યા ઘટશે અને તે સરળતાથી તેને બનાવશે. સમજી શકાય અને વાંચી શકાય.
દ્વિ-પરિમાણીય એરે
2-પરિમાણીય એરેમાં 2 અનુક્રમણિકા હોય છે - પ્રથમ અનુક્રમણિકા પંક્તિઓનું પ્રતિનિધિત્વ કરશે અને 2જી અનુક્રમણિકા કૉલમનું પ્રતિનિધિત્વ કરશે. તેમાં બહુવિધ પંક્તિઓ અને કૉલમ છે અને તે સામાન્ય રીતે ટેબલ ફોર્મેટમાં રજૂ થાય છે.
2 ડિમ એરેની ઘોષણા નીચે મુજબ છે:
ડિમ એરેનામ(ફર્સ્ટ ઇન્ડેક્સ LastIndex માટે, FirstIndex To LastIndex) ડેટા ટાઈપ તરીકે.
3 વિષયોમાં મેળવેલા 2 વિદ્યાર્થીઓના માર્કસ સ્ટોર કરવાના ઉદાહરણનો વિચાર કરો. તેથી અમે 2-પરિમાણીય એરે બનાવીશું જે 2 પંક્તિઓ અને 3 કૉલમ્સ લે છે.
અમે પંક્તિ 1 થી પંક્તિ 2 અને કૉલમ 1 થી કૉલમ 3 સુધી એરે શરૂ કરીશું.
Sub Twodim() Dim totalMarks(1 To 2, 1 To 3) As Integer totalMarks(1, 1) = 23 totalMarks(2, 1) = 34 totalMarks(1, 2) = 33 totalMarks(2, 2) = 55 totalMarks(1, 3) = 45 totalMarks(2, 3) = 44 Msgbox “Total Marks in Row 2 and column 2 is “ &totalMarks(2,2) Msgbox “Total Marks in Row 1 and column 3 is “ &totalMarks(1,3) End Sub
F5 દબાવો અથવા કોડ ચલાવવા માટે ટૂલબાર પર રન બટન દબાવો.
રો 2 અને કૉલમ 2
રો 1 અને કૉલમ 3
ફિક્સ્ડ એરે
સ્થિર એરેને સ્ટેટિક પણ કહેવાય છેએરેમાં નિશ્ચિત નીચલી બાઉન્ડ અને અપર બાઉન્ડ હોય છે અને આ કદ રન સમયે બદલી શકાતા નથી. કૌંસની અંદર ઘોષણા દરમિયાન એરેનું કદ નિર્દિષ્ટ કરવામાં આવે છે. ઉપરોક્ત તમામ ઉદાહરણો સ્થિર એરે છે કારણ કે અમે ઘોષણા દરમિયાન તેના કદનો ઉલ્લેખ કર્યો છે.
ફિક્સ્ડ એરેનો સામાન્ય રીતે ઉપયોગ થાય છે જ્યારે તમને એરેના કદ વિશે ખાતરી હોય. ઉદાહરણ તરીકે, અઠવાડિયામાં દિવસોની સંખ્યા, તમે લોઅર બાઉન્ડ 0 અને અપર બાઉન્ડ 6 સાથે એરે બનાવી શકો છો અને ખાતરી કરો કે તમે તેનું કદ ક્યારેય બદલશો નહીં.
ડાયનેમિક અરે
ડાયનેમિક એરે અમને રન ટાઈમ દરમિયાન એરેનું માપ બદલવાની મંજૂરી આપે છે. જ્યારે તમે એરેના કદ વિશે ચોક્કસ ન હો ત્યારે આ ઉપયોગી છે. ધારો કે કૉલેજમાં પ્રવેશમાં, તમે ખરેખર કેટલા વિદ્યાર્થીઓને પ્રવેશ મેળવશે તેની ખાતરી ન હોઈ શકે, તેથી તમે ડિઝાઇન અથવા ઘોષણા સમયે કદ નક્કી કરી શકતા નથી.
ડાયનેમિક એરેની ઘોષણા સ્ટેટિક જેવી જ છે. ખાલી કૌંસ સાથે એરે.
Dim Employ() as String
REDIM
જ્યારે આપણે કદ બદલવા માંગીએ છીએ ત્યારે અમારે નો ઉપયોગ કરવાની જરૂર છે. REDIM , આપણે એ નોંધવું જરૂરી છે કે નીચલી બાઉન્ડ બદલી શકાતી નથી, આપણે ફક્ત એરેની ઉપરની સીમા બદલી શકીએ છીએ.
Sub dynamicArray() Dim dynArray() As String Dim curdate As Date curdate = Now ReDim dynArray(2) ‘ Redim will help to change the array size during runtime dynArray(0) = "John" dynArray(1) = "Tom" dynArray(2) = "Tonny" MsgBox "Students Enrolled after " & curdate & " are “ & dynArray(0) & ", " & dynArray(1) & ", " & dynArray(2) End Sub
હવે, આપણે જાણીએ છીએ કે આપણે રનટાઇમ દરમિયાન એરેનું કદ બદલો, તેથી જ્યારે પણ આપણને એરેના ubound વધારવાની જરૂર હોય ત્યારે અમે ReDim સ્ટેટમેન્ટનો ઉપયોગ કરી શકીએ છીએ. ચાલો એરેનું કદ વધુ એક વખત વધારવાનો પ્રયાસ કરીએ અને એક નવું ઉમેરોવિદ્યાર્થીનું નામ.
Sub RedimExample() Dim dynArray() As String Dim curdate As Date curdate = Now Dim size As Integer ReDim dynArray(2) dynArray(0) = "John" dynArray(1) = "Tom" dynArray(2) = "Tonny" MsgBox "Students Enrolled untill " & curdate & " are " & dynArray(0) & ", " & dynArray(1) & ", " & dynArray(2) ReDim dynArray(3) ‘ Redim will reinitialise the array and destroy the old values dynArray(3) = "John" MsgBox "Students Enrolled untill " & curdate & " are " & dynArray(0) & ", " & dynArray(1) & ", " & dynArray(2) & " , " & dynArray(3) End Sub
તમે અવલોકન કર્યું હશે કે પરિણામમાં પહેલા ઉમેરાયેલા વિદ્યાર્થીઓના નામ દેખાતા નથી, તે નલ મૂલ્ય આપે છે. કારણ કે Redim સ્ટેટમેન્ટ નવી સાઈઝ સાથે નવી એરે બનાવશે અને જૂના મૂલ્યોને નષ્ટ કરશે.
ReDim Preserve
Represerve સ્ટેટમેન્ટ જૂના મૂલ્યોને સાચવીને ReDim ની મર્યાદાને દૂર કરવામાં અમને મદદ કરે છે. અને એ રીતે એરેનું કદ વધે છે.
ચાલો ReDim પ્રિઝર્વનો ઉપયોગ કરીને ઉપરના કોડને ફરીથી લખીએ.
Sub preserveExample() Dim dynArray() As String Dim curdate As Date curdate = Now Dim size As Integer ReDim dynArray(2) dynArray(0) = "John" dynArray(1) = "Tom" dynArray(2) = "Tonny" MsgBox "Students Enrolled untill " & curdate & " are " & dynArray(0) & ", " & dynArray(1) & ", " & dynArray(2) ReDim preserve dynArray(3) ‘ Redim preserve will retain the old values dynArray(3) = "John" MsgBox "Students Enrolled untill " & curdate & " are " & dynArray(0) & ", " & dynArray(1) & ", " & dynArray(2) & " , " & dynArray(3) End Sub
જેમ આપણે ઉપયોગ કર્યો છે. કીવર્ડ સાચવો, અગાઉ દાખલ કરેલ કિંમતો ખોવાઈ નથી અને નવી કિંમત સફળતાપૂર્વક ઉમેરવામાં આવી છે.
વેરિએન્ટ એરે
અત્યાર સુધી આપણે સમાન પ્રકારના મૂલ્યોને સ્વીકારતી એરે જોઈ છે. હવે ચાલો એરેને વેરિઅન્ટ તરીકે જાહેર કરીએ અને વિવિધ પ્રકારના ડેટા જેમ કે સ્ટ્રિંગ, ડેટ, લોંગ, ઈન્ટીજરને એક જ એરેમાં સ્ટોર કરીએ.
ઉદાહરણ:
Sub arrayVariant() Dim arrayData(3) As Variant arrayData(0) = "Vikram Vikrant" arrayData(1) = 411234567890# arrayData(2) = 38 arrayData(3) = "06-09-1972" MsgBox "Details of person " & arrayData(0) & " is " & " Phone No " & arrayData(1) & " ,Id " & arrayData(2) & " ,DOB " & arrayData(3) End Sub
VBA એરે પદ્ધતિઓ
VBA એરેમાં ઘણી પદ્ધતિઓ છે જે અમને નીચે જણાવ્યા મુજબ વિવિધ કાર્યો કરવા માટે મદદ કરશે.
ક્રમ. ના | નામ | સિન્ટેક્સ | વર્ણન | |
---|---|---|---|---|
1 | એરે2 | એરે(આર્ગલિસ્ટ) | એક નિયમિત વેરિએન્ટ ચલને એરેમાં રૂપાંતરિત કરે છે. | |
2 | 26 ઇરેઝએરેનામને ભૂંસી નાખો | નિશ્ચિત કદના એરેને પુનઃસ્થાપિત કરવા માટે વપરાય છે અને ડાયનેમિક માટે મેમરીને મુક્ત કરે છેએરે. | ||
3 | IsArray | IsArray (ચલનામ) | નિર્ધારિત કરે છે કે શું ચલ એ એરે છે. | |
4 | Lbound | LBound( ArrayName, [Dimension] ) | એરેની નીચી સબસ્ક્રિપ્ટ પરત કરે છે. | |
5 | Ubound | UBound( ArrayName , [પરિમાણ] ) | એરેની ઉચ્ચતમ સબસ્ક્રિપ્ટ પરત કરે છે. | |
6 | સ્પ્લિટ2 | સ્પ્લિટ(અભિવ્યક્તિ, [ ડિલિમિટર, [ મર્યાદા, [ સરખાવો ]]]) | તે એક સ્ટ્રિંગને બહુવિધ સબસ્ટ્રિંગમાં વિભાજીત કરે છે અને શૂન્ય આધારિત એરે આપે છે. | |
7 | જોડાઓ | જોડાઓ(સોર્સરે, [ ડિલિમિટર ]) | એરેમાં બહુવિધ સબસ્ટ્રિંગ જોડે છે અને સ્ટ્રિંગ મૂલ્ય પરત કરે છે | | ફિલ્ટર અમને એરેમાંથી નિર્દિષ્ટ મેળ શોધવાની મંજૂરી આપશે. |
ચાલો તે દરેકની વિગતવાર ઉદાહરણ સાથે ચર્ચા કરીએ.
#1) એરે
ચાલો રેગ્યુલર વેરિએન્ટ વેરીએબલ જાહેર કરીએ અને તેનો એરે તરીકે ઉપયોગ કરીએ. જ્યારે તમે રેગ્યુલર વેરિઅન્ટ વેરિયેબલને એરેમાં બદલવા માંગો છો, ત્યારે અમારે નીચેના ઉદાહરણમાં બતાવ્યા પ્રમાણે ARRAY ફંક્શનનો ઉપયોગ કરવાની જરૂર છે.
એરે ફંક્શન્સ એવી દલીલ સ્વીકારે છે જેમાં અલ્પવિરામથી વિભાજિત મૂલ્યો હોય છે. . આ મૂલ્યો એરેના તત્વ તરીકે અસાઇન કરવામાં આવ્યા છે.
Sub variantArray() Dim varData As Variant varData = Array("Mon Bel", "+61 112334123", 567, "06-09-1972") MsgBox "Details of person " & varData(0) & " is " & " Phone No " & varData(1) & " ,Id " & varData(2) & " ,DOB " & varData(3) End Sub
તમારે ઇન્ડેક્સનો ઉપયોગ કરીને એરે વેરીએબલને ઓળખવું પડશે,તેથી ઉપરના ઉદાહરણમાં, મૂલ્યો varData(0) varData(2) varData(3) તરીકે પુનઃપ્રાપ્ત થાય છે.
#2) Ease
આ ફંક્શન એ માટે દાખલ કરેલ તમામ મૂલ્યોને ભૂંસી નાખશે. ફિક્સ્ડ સાઈઝ એરે અને ડાયનેમિક એરે માટે મેમરી સ્પેસ ખાલી કરશે.
સિન્ટેક્સ: એરેઝ એરેનામ
આપ્યા પ્રમાણે અલગ-અલગ ડેટા પ્રકારો માટે ઈરેઝની વર્તણૂક અલગ છે. નીચે.
- નિશ્ચિત આંકડાકીય માટે: તમામ મૂલ્યો શૂન્ય પર રીસેટ છે.
- નિશ્ચિત સ્ટ્રિંગ ડેટા પ્રકાર માટે: તમામ મૂલ્યો શૂન્ય લંબાઈ પર રીસેટ થાય છે.
- ડાયનેમિક એરે માટે: એરે દ્વારા ઉપયોગમાં લેવાતી મેમરીને મુક્ત કરે છે.
ઉદાહરણ :
Sub eraseExample() Dim NumArray(3) As Integer Dim decArray(2) As Double Dim strArray(2) As String NumArray(0) = 12345 decArray(1) = 34.5 strArray(1) = "Erase Function" Dim DynaArray() ReDim DynaArray(3) MsgBox " Values before Erase " & (NumArray(0)) & "," & (decArray(1)) & " , " & (strArray(1)) Erase NumArray Erase decArray Erase strArray Erase DynaArray ' Free the memory ' All values are erased. MsgBox " Values after Erase " & NumArray(0) & "," & decArray(1) & " , " & strArray(1) End Sub
ઇરેઝ ફંક્શનનો ઉપયોગ કરતા પહેલા પરિણામ
ઇરેઝનો ઉપયોગ કર્યા પછી પરિણામ
#3) IsArray
આ ફંક્શનનો ઉપયોગ એ નક્કી કરવા માટે થાય છે કે આપેલ ઇનપુટ વેરીએબલ એરે છે કે નહીં. જો દાખલ કરેલ વેરીએબલ સાચું હોય તો તે સાચું પરત કરે છે, અન્યથા તે ખોટું પાછું આપે છે.
સિન્ટેક્સ : IsArray (ચલનામ)
ઉદાહરણ:
Sub isArrayTest() Dim arr1, arr2 As Variant arr1 = Array("Jan", "Feb", "Mar") arr2 = "12345" MsgBox ("Is arr1 an Array : " & IsArray(arr1)) MsgBox ("Is arr2 an Array : " & IsArray(arr2)) End
પ્રથમ Msgbox નું પરિણામ
બીજા msgbox નું પરિણામ
#4) Lbound
તે Lbound ફંક્શન માટે દલીલ તરીકે ઉલ્લેખિત એરેની સૌથી ઓછી સબસ્ક્રીપ્ટ પરત કરે છે.
સિન્ટેક્સ: LBound( ArrayName, [પરિમાણ] )
ArrayName એ એરેનું નામ છે.
પરિમાણ એ વૈકલ્પિક પૂર્ણાંક મૂલ્ય છે, જો એરેમાં બહુવિધ પરિમાણ હોય, તો તમે સ્પષ્ટ કરી શકો છોતમે કયું પરિમાણ Lbound નક્કી કરવા માંગો છો.
ઉદાહરણ:
Sub lboundTest() Dim Result1, Result2, Result3 Dim ArrayValue(1 To 10, 5 To 15, 10 To 20) ' Declare array variables. Dim Arraywithoutlbound(10) Result1 = LBound(ArrayValue, 1) ' Returns 1. Result2 = LBound(ArrayValue, 3) ' Returns 10. Result3 = LBound(Arraywithoutlbound) MsgBox "Lowest subscript in first array " & Result1 & " lowest subscript in 3rd array " & Result2 & " Lowest subscript in Arraywithoutlbound " & Result3 End Sub
#5) Ubound
તે Ubound ફંક્શનમાં દલીલ તરીકે ઉલ્લેખિત એરેની ઉપલી સબસ્ક્રિપ્ટ પરત કરે છે.
સિન્ટેક્સ: UBound( ArrayName, [Dimension] )
ArrayName એનું નામ છે. એરે.
પરિમાણ એ વૈકલ્પિક પૂર્ણાંક મૂલ્ય છે, જો એરેમાં બહુવિધ પરિમાણ હોય, તો તમે કયા પરિમાણને Ubound નક્કી કરવા માંગો છો તે સ્પષ્ટ કરી શકો છો.
ઉદાહરણ:2
Sub UboundTest() Dim Result1, Result2, Result3 Dim ArrayValue(1 To 10, 5 To 15, 10 To 20) ' Declare array variables. Dim ArraywithoutUbound(10) Result1 = UBound(ArrayValue, 1) Result2 = UBound(ArrayValue, 3) Result3 = UBound(ArraywithoutUbound) MsgBox "Lowest subscript in first array " & Result1 & " lowest subscript in 3rd array " & Result2 & " Lowest subscript in Arraywithoutlbound " & Result3 End Sub
#6) સ્પ્લિટ
તે આપેલ સંપૂર્ણ સ્ટ્રિંગમાંથી મેળવેલા સબસ્ટ્રિંગની સંખ્યા સાથે એરે આપે છે.
સિન્ટેક્સ: સ્પ્લિટ(અભિવ્યક્તિ, [ ડિલિમિટર, [ મર્યાદા, [ સરખાવો ]]])
- અભિવ્યક્તિ: આ આખી સ્ટ્રિંગ છે જેનો ઉપયોગ કરવામાં આવશે સબસ્ટ્રિંગ ઉત્પન્ન કરો.
- ડિલિમિટર: ઉલ્લેખિત ડિલિમિટરનો ઉપયોગ કરીને, સબસ્ટ્રિંગ્સ જનરેટ થશે. જો આનો ઉલ્લેખ ન હોય તો જગ્યાને સીમાંકક તરીકે ગણવામાં આવે છે.
- મર્યાદા: પાછળ કરવાના સબસ્ટ્રિંગની સંખ્યા.
- સરખામણી કરો: પછી સબસ્ટ્રિંગનું નિર્માણ થાય છે, તમે પરિણામ ચકાસવા માટે અલગ-અલગ તુલના વિકલ્પોનો ઉપયોગ કરી શકો છો.
ઉદાહરણ: નીચેના ઉદાહરણમાં, અમે સીમાંકકનો ઉપયોગ - અને મર્યાદા 3 તરીકે કરી રહ્યા છીએ.
તેથી સ્પ્લિટ ફંક્શન સમગ્ર સ્ટ્રિંગને ડિલિમિટરના આધારે સબસ્ટ્રિંગમાં અલગ કરશે. પરંતુ અમે મર્યાદાનો ઉલ્લેખ 3 તરીકે પણ કર્યો છે તેથી મર્યાદા 3 પછી સબસ્ટ્રિંગની રચના થશે નહીં. આમ છેલ્લું સીમાંકક –છોડવામાં આવશે.
Sub splitExample() Dim MyString As String Dim Result() As String Dim DisplayText As String MyString = "This is the example for-VBA-Split-Function" Result = Split(MyString, "-",3) MsgBox Result(0) & vbNewLine & Result(1) & vbNewLine & Result(2) & vbNewLine & Result(3) End Sub
#7) જોડાઓ
આ માત્ર વિભાજનની વિરુદ્ધ છે, જોડાઓ અનેક સબસ્ટ્રિંગને જોડીને એક સ્ટ્રિંગ બનાવશે.
સિન્ટેક્સ: Join(sourcearray, [ delimiter ])
Sourcearray: તમે એકમાં જોડાવા માંગો છો તે સ્ટ્રિંગ્સનો એક-પરિમાણીય એરે.
ડિલિમિટર: જોડાતી વખતે દરેક સ્ટ્રીંગ પછી ઉલ્લેખિત સીમાંકન ઉમેરવામાં આવશે.
ઉદાહરણ:
Sub joinExample() Dim Result As String Dim dirarray(0 To 2) As String dirarray(0) = "D:" dirarray(1) = "SoftwareTestingHelp" dirarray(2) = "Arrays" Result = Join(dirarray, "\") MsgBox "Date after joining " & Result End Sub
તમામ 3 મૂલ્યો છે જોડાયા છે અને \ એ દરેક શબ્દની વચ્ચે મૂકવામાં આવે છે, જેમ કે અમે \ નો સીમાંકક તરીકે ઉલ્લેખ કર્યો છે.
#8) ફિલ્ટર
ફિલ્ટર અમને પરવાનગી આપશે એરેમાંથી ચોક્કસ મેળ માટે શોધો. ફિલ્ટર માપદંડના આધારે, સ્ટ્રિંગ એરેનો સબસેટ પરત કરવામાં આવશે.
સિન્ટેક્સ: ફિલ્ટર(સોર્સરે, મેચ, [ શામેલ કરો, [ સરખામણી કરો]])
ઉદાહરણ:
Sub filterExample() Dim Mystring As Variant Mystring = Array("Software Testing", "Testing help", "Software help") filterString = Filter(Mystring, "help") MsgBox "Found " & UBound(Mystring) - LBound(Mystring) + 1 & " words matching the criteria " End Sub
આ ઉદાહરણ ફિલ્ટર ફંક્શનનો ઉપયોગ કરીને તમામ એરે સ્ટ્રીંગમાં "સહાય" શબ્દ શોધશે.
વારંવાર પૂછાતા પ્રશ્નો
પ્ર #1) VBA માં એરેની લંબાઈ કેવી રીતે મેળવવી?
જવાબ: એકની લંબાઈ મેળવવા માટે એરે, અમે Ubound ફંક્શનનો ઉપયોગ કરીએ છીએ. આ ફંક્શન અમને ઉલ્લેખિત એરેની ઉપલી સબસ્ક્રિપ્ટ આપશે.
પ્ર #2) VBA માં એરે કેવી રીતે જાહેર કરવું?
જવાબ: એક- ડાયમેન્શનલ એરે નીચે બતાવ્યા પ્રમાણે જાહેર કરવામાં આવ્યું છે.
ડિમ એરેનામ(લોઅરબાઉન્ડ ટુ અપરબાઉન્ડ) ડેટા ટાઈપ તરીકે
ઉદાહરણ: ડિમ માયરે(0 થી 2) પૂર્ણાંક તરીકે
એક દ્વિ-પરિમાણીય