Arrays in Visual Basic pro Application

Arrays in Visual Basic pro Applicatione structurae sunt quae typice copiae variabilium affinium eiusdem generis componunt. Tabulae ordinatae ab eorum indice numerali accessuntur.

Exempli gratia, manipulus 20 hominum est, quorum nomina servata sunt postea in codice VBA utuntur. Posset simpliciter declarare 20 variabilitates singulas nomen tenere, ut sic;

Dim Team_Member1 As String Dim Team_Member2 As String ... Dim Team_Member20 As String

Sed multo simpliciore et ordine constituto uti potes - repone indicem nomina sodalium in apparatu 20 variabilium sicut Gloria:

Dim Team_Members (1 To 20) As String

In linea supra docuimus, ordinata declaravimus. Nunc pretium singulis elementis scribamus, hoc modo:

Members(1) = "Johannes Smith"

Accedit utilitas notitiarum thesaurorum in ordine, comparatus ad varias variabiles usus, apparebit cum necesse erit eandem actionem in unaquaque parte exercitus praestare. Si nomina sodalium manipulorum reposita essent in 20 variabilibus separatis, tum 20 lineas Codicis scribere debebit singulis diebus ut eandem actionem in singulis perficiant. Si autem nomina in aciem reponuntur, tunc facere potes optatam actionem cum unoquoque eorum simplici ansa utens.

Quomodo operatur, infra demonstratur cum codice exemplo, qui nomina singulorum membrorum globorum sequentium in cellulis columnarum imprimit. A active Praecedo officina.

Pro i = 1 Ad 20 Cellulas(i,1).Value = Team_Members(i) Proximum i

Patet, operando cum apparatu instrumentorum 20 nominum multo minus gravia et accuratius quam utens 20 variabilium separatorum. Sed quid si haec nomina non XX, sed M sunt? Et si, praeterea, cognomina et patronymica separatim servare oporteat? Patet mox omnino impossibile erit talem codicem notitiarum in VBA codice tractari sine ope ordinatae.

Multidimensional vestit in Excel Visual Basic

Vestimenta Visual Basic supra tractata unum dimensivum censentur. Hoc significat indicem nominum simplicium reponunt. Sed vestit plures dimensiones habere possunt. Exempli gratia: duplex ordo dimensiva eget valorum comparari potest.

Dicamus vis servare figuras venditiones diurnas pro Ianuario pro 5 diversis iugis. Hoc duplicem ordinem dimensivum requiret constans ex 5 mutationibus metri per 31 dies. Eamus ordinem sic:

Dim Jan_Sales_Figures (1 Ad 31, 1 Ad 5) As Currency

Ut obvius ordinata elementa Jan_Sales_Figuresduobus indicibus uti debes, ad indicandum diem mensis et numeri praecepti. Exempli gratia, oratio elementi continens figuras venditionesque for 2-oh' teams for XVIII th Ianuarias sic scribi debere;

Jan_Sales_Figures (15, 2)

Pari modo, ordinatam cum 3 vel pluribus dimensionibus declarare potes - tantum additis dimensionibus ad declarationem ordinatam et additis indicibus utere ut elementa huius ordinata referantur.

Annuntians Arrays in Excel Visual Basic

Prius in hoc articulo, iam aliquot exempla in VBA declarandi vestitus inspeximus, sed hic locus propius aspectum meretur. Ut ostensum est, unus ordo dimensionis sic declarari potest;

Dim Team_Members (1 To 20) As String

Talis declaratio narrat VBA compilator ordinatam Team_Members constat ex 20 variabilibus, quae ad indices ab 1 ad 20. accedere possunt, cogitare tamen putemus variabilium ordinatas numerandas ab 0 ad 19, quo in casu talis instructio declaranda est;

Dim Team_Members (0 To 19) As String

Re quidem vera, numerus elementorum ordinatorum ab 0 incipit et in ordinata declaratione, index initialis omnino definiri non potest, hoc modo:

Dim Team_Members(19) As String

Compilator VBA talem ingressum tractabit, ut aciem 20 elementorum cum indicibus ab 0 ad 19 declararet.

Eadem ratio valet cum multidimensionales Visual Basic declarantes vestit. Ut iam in uno exemplorum ostendimus duo dimensiva ordinata, indices dimensionum eius commate separantur;

Dim Jan_Sales_Figures (1 Ad 31, 1 Ad 5) As Currency

Attamen, si non indicas initium indicis utriusque dimensionis ordinatae, sic declarabis:

Dim Jan_Sales_Figures(31, 5) As Currency

tunc hic introitus agetur ut duo dimensiva ordinata, quorum prima dimensio continet 32 ​​elementa cum indicibus ab 0 ad 31, et secunda dimensio ordinatae continet 6 elementa cum indicibus ab 0 ad 5 .

Dynamic vestit

Omnes supra exempla vestiuntur certum numerum dimensionum habere. Sed in multis casibus nescimus quanta sit nostra instructio. Ex rerum condicione consequi possumus declarando ingentem aciem, cuius magnitudo certe maior erit quam nostro officio necessaria. Sed talis solutio multum extra memoriam requiret et programmata retardari potest. Melior est solutio. Uti possumus ordinata dynamica – hic ordo est cuius amplitudo cuiuslibet magnitudinis pluries in tortoris executione componi ac mutari potest.

Ordo dynamicus declaratur parenthesi inanibus, sic:

Dim Team_Members () As String

Deinceps declarare debes dimensionem ordinatae in codice executioni utente expressione ReDim:

ReDim Team_Members (1 To 20)

Et si in executione Codicis debes mutare magnitudinem ordinatae iterum, tunc iterum expressio Redim uti potes:

Si Team_Size> XX Tunc ReDim Team_Members (I Ad Team_Size) finis Si

Animo resipiscendi dynamicam aciem hoc modo proveniet in amissione bonorum omnium repositorum in ordine. Ut congregem notitia iam in acie, keyword uti debes conservaut ostendo subter supter:

Si Team_Size> XX Tunc ReDim conserva Team_Members (I Ad Team_Size) finis si

Infeliciter in keyword conserva nonnisi adhiberi potest ut ligatus superior ordinatae dimensionis mutetur. Ad secundum dicendum quod inferior obligatio ordinatae sic mutari non potest. Item, si ordinatus plures habet dimensiones, utens keyword conservasola ultima ratio ordinata resized potest.

Leave a Reply