Fa'ailoga i le VBA

E i ai tulaga e mana'omia ai se polokalame VBA e fa'atino ai le seti o gaioiga i le tele o taimi i le laina (o lona uiga, toe fai le poloka o le code i ni nai taimi). E mafai ona faia lenei mea i le faʻaogaina o le VBA loops.

VBA matasele e aofia ai:

O le isi, o le a tatou vaʻavaʻai totoʻa i nei taʻamilosaga taʻitasi.

Mo Loop Operator ile Visual Basic

Le faʻatulagaina o le taʻavale faʻaogaina le i le Visual Basic e mafai ona faʻatulagaina i se tasi o foliga e lua: o se matasele Mo… Sosoo ai pe pei o se matasele Mo Ta'itasi.

Ta'amilosaga “Mo … Sosoo ai”

Taamilosaga Mo… Sosoo ai fa'aaogaina se fesuiaiga e fa'asolosolo fa'asologa o tau mai se laina tu'uina atu. Faatasi ai ma suiga taitasi o le tau o le fesuiaiga, o gaioiga o loʻo faʻapipiʻiina i le tino o le taamilosaga e faia. E faigofie ona malamalama i lenei mea mai se faʻataʻitaʻiga faigofie:

Mo i = 1 I le 10 Aofa'i = Aofa'i + iArray(i) Sosoo ai i

I lenei matasele faigofie Mo… Sosoo ai e fa'aaogaina le fesuiaiga i, lea e faʻasolosolo faʻasologa 1, 2, 3, ... 10, ma mo nei tau taʻitasi, o le VBA code i totonu o le matasele e faʻatinoina. O le mea lea, o lenei matasele e faʻaputuina elemene o le array. iArray i le fesuisuiai Aofai.

I le faʻataʻitaʻiga o loʻo i luga, e leʻo faʻamaonia le faʻaopoopoga o le matasele, ina ia faʻateleina le fesuiaiga i mai le 1 i le 10, o le faaletonu o se faʻaopoopoga 1... Ae ui i lea, i nisi tulaga e manaʻomia le faʻaogaina o tau faʻaopoopoga eseese mo le matasele. E mafai ona faia lenei mea e faʻaaoga ai le upu autu laʻae pei ona faaalia i le faataitaiga faigofie lenei.

Mo le d = 0 i le 10 Laasaga 0.1 dTotal = dTotal + d Soso'o o

Talu ai i le faʻataʻitaʻiga o loʻo i luga, o le laʻasaga faʻaopoopo e seti tutusa ma 0.1, ona sosoo ai lea ma le fesuiaiga dAofa'i mo taʻitasi taʻamilosaga taʻamilosaga e faʻatatau i tau 0.0, 0.1, 0.2, 0.3,… 9.9, 10.0.

Ina ia iloa le la'asaga la'asaga i le VBA, e mafai ona e fa'aogaina se tau le lelei, mo se fa'ata'ita'iga, pei o lenei:

Mo i = 10 I le 1 Laasaga -1 iArray(i) = i Sosoo i

O le fa'aopoopoga lea -1, o lea o le fesuiaiga i faʻatasi ai ma taʻaloga taʻitasi o le taamilosaga e faʻatatau i tau 10, 9, 8, ... 1.

Fa'aigoa "Mo Ta'itasi"

Taamilosaga Mo Ta'itasi e tutusa ma se taamilosaga Mo… Sosoo ai, ae nai lo le faʻasolosolo i luga o le faʻasologa o tau mo le fesuiaiga faʻatau, le matasele Mo Ta'itasi faia se seti o taga mo mea taitasi i le vaega o mea faitino. I le faʻataʻitaʻiga o loʻo mulimuli mai, faʻaaogaina se matasele Mo Ta'itasi fa'avasega pepa uma i le tusi faigaluega Excel o lo'o iai nei:

Fa'anu'u le wSheet e fai ma Pepa Galuega mo Pepa Ta'itasi i Pepa o Galuega Pusa Msgbox "Fa'aigoa ole igoa: " & wSheet.Name wSheet Soso'o.

Fa'amatalaga fa'alavelave fa'afuase'i "Ofo Mo"

Pule Alu Mo fa'aaoga e fa'alavelave ai le ta'amilosaga. O le taimi lava e maua ai lenei faʻamatalaga i le code, e faʻamutaina e le polokalame le faʻatinoina o le matasele ma faʻagasolo atu i le faʻatinoina o faʻamatalaga o loʻo i totonu o le code i le taimi lava e maeʻa ai lenei matasele. E mafai ona faʻaaogaina lenei mea, mo se faʻataʻitaʻiga, e suʻe ai se tau faʻapitoa i totonu o se laina. Ina ia faia lenei mea, faʻaaoga se matasele, o elemene taʻitasi o le array e suʻeina. O le taimi lava e maua ai le elemene manaʻomia, e leai se mea e manaʻomia e vaʻavaʻai ai i le vaega o totoe - ua faʻalavelave le taamilosaga.

Talosaga fa'atino Alu Mo fa'aalia i le fa'ata'ita'iga lea. O iinei o le matasele e suʻe ai le sili atu i le 100 faʻasologa o faʻamaumauga ma faʻatusatusaina taʻitasi ma le tau o le fesuiaiga dVal… Afai e maua se fetaui, ona faamuta lea o le matasele:

Mo i = 1 i le 100 Afai dValues(i) = dVal Ona IndexVal = i Alu Mo Fa'ai'uga pe a sosoo ai

Le Do While Loop i le Visual Basic

Taamilosaga Fai ao fa'atino se poloka fa'ailoga pe a fa'amalieina le tu'utu'uga. Ole fa'ata'ita'iga lea ole faiga laiti, lea e faʻaaogaina ai le matasele Fai ao Fibonacci numera e le sili atu i le 1000 o loʻo faʻaalia faʻasolosolo:

'Sub procedure outputs Fibonacci numera e le sili atu i le 1000 Sub Fibonacci() Dim i As Integer 'counter e fa'ailoa ai le tulaga o le elemene i le faasologa Dim iFib As Integer 'teu le tau o lo'o i ai nei o le faasologa Dim iFib_Next As Integer 'teu le isi tau. o le fa'asologa Dim iStep As Integer 'teu le tele o le isi fa'aopoopoga 'amata fesuiaiga i ma iFib_Next i = 1 iFib_Next = 0 'Do While loop o le a fa'atino se'ia o'o le tau o le 'numera Fibonacci o lo'o i ai nei e sili atu nai lo le 1000 Fai A'o iFib_Next <1000 Afai i = 1 Ona 'mataupu fa'apitoa mo le elemene muamua iStep = 1 iFib = 0 Isi 'se'o le tele o le isi fa'aopoopoga a'o le'i fa'asili' le tau o lo'o i ai nei o le fa'asologa iStep = iFib iFib = iFib_Next End Afai 'lomi le numera Fibonacci o loʻo iai nei i le koluma A o le pepa galue galue 'i le laina ma le faasino igoa i Cells(i, 1). Taua = iFib 'fa'atatau le numera Fibonacci e sosoo ai ma fa'aopoopo le fa'ailoga tulaga elemene e 1 iFib_Next = iFib + iStep i = i + 1 Loop End Sub

I le faʻataʻitaʻiga ua tuʻuina atu, o le tulaga iFib_Next <1000 siaki i le amataga o le matasele. O le mea lea, afai o le tau muamua iFib_Next Afai e sili atu i le 1000, o lona uiga o le matasele e le mafai ona faʻatinoina.

O le isi auala e faʻatino ai se taʻavale Fai ao - tuʻu le tulaga e le o le amataga, ae i le pito o le matasele. I lenei tulaga, o le matasele o le a faia ia le itiiti ifo ma le tasi, e tusa lava pe ausia le tulaga.

Fa'ata'ita'iga, o se ta'amilosaga fa'apea Fai ao ma le tulaga e siaki i le faaiuga o le a pei o lenei:

Fai ... Loop A'o iFib_Next <1000

Fa'ata'ita'i "Faia Se'ia" i le Visual Basic

Taamilosaga Fai Seia e talitutusa lava ma le taamilosaga Fai ao: o le poloka o le code i totonu o le tino o le matasele e faia pea lava pea seia oʻo ina ausia le tulaga faʻamaonia (o le iʻuga o le faʻaaliga faʻapitoa e moni lava). I le isi faiga laiti fa'aaogaina o se taamilosaga Fai Seia toe aumai tau mai sela uma ile koluma A pepa o galuega seia o'o ina fetaia'i le koluma i se sela avanoa:

iRow = 1 Fai Se'ia Fa'asa'oloto(Cells(iRow, 1)) 'O le tau o le sela o lo'o i ai nei o lo'o teuina i le array dCellValues ​​​​dCellValues(iRow) = Cells(iRow, 1). Taua iRow = iRow + 1 Loop

I le faʻataʻitaʻiga i luga, o le tulaga Fa'amata'u(Cells(iRow, 1)) e tu i le amataga o le fausaga Fai Seia, o lea o le a faʻataunuʻuina le matasele pe a ma le tasi pe afai e le o gaogao le sela muamua na ave.

Ae ui i lea, e pei ona faʻaalia i faʻataʻitaʻiga taʻavale Fai ao, i nisi tulaga e tatau ona faʻataunuʻuina le matasele ia le itiiti ifo ma le tasi, e tusa lava po o le a le taunuuga muamua o le faʻaaliga faʻapitoa. I lenei tulaga, e tatau ona tuʻuina le faʻaaliga faʻapitoa i le pito o le matasele, pei o lenei:

Fai ... Fa'ata'amilo se'ia Fa'agaogao(Cells(iRow, 1))

Tuua se tali