VBA Break For Loop | Paano Lumabas Para sa Loop sa Excel VBA?
Break ng Excel VBA Para sa Loop
Sa VBA Break For Loop ay kilala rin bilang exit para sa loop, bawat loop sa anumang pamamaraan ay binigyan som11e hanay ng mga tagubilin o pamantayan para sa ito upang magpatakbo ng nuber ng oras ngunit ito ay napaka-pangkaraniwan na ang ilang mga loop makakuha sa isang walang katapusang loop sa gayon ay nasisira ang code sa naturang mga sitwasyon kailangan ng pahinga para sa o exit para sa loop upang lumabas sa ilang mga sitwasyon.
Sabihin nating inatasan natin ang loop na tumakbo ng 10 beses at batay sa kundisyon na ibinigay kung ang halaga ng cell o anumang iba pang mga naibigay na pamantayan ay matagumpay pagkatapos ay dapat itong lumabas sa excel loop bago makumpleto ang buong quota ng loop na 10. Sa artikulong ito , ipapakita namin sa iyo kung paano lumabas sa loop batay sa ibinigay na pamantayan.
Paano Mag-break / Exit Loops sa VBA?
Maaari mong i-download ang Template ng VBA Break For Loop Excel dito - VBA Break For Loop Excel Template# 1 - Masira Para sa Susunod na Loop
Ang VBA For Next Loop ay ginagamit upang mag-loop sa mga cell at magsagawa ng isang tukoy na hanay ng mga gawain. Para sa isang halimbawa tingnan ang sa ibaba VBA code.
Code:
Sub Exit_Loop () Dim K As Long For K = 1 To 10 Cells (K, 1). Value = K Next K End Sub
Ipapasok nito ang mga serial number mula sa cell A1 hanggang A10.
Ito ang halatang bagay sa For Next Loop.
Ngayon ay nais kong putulin ang loop kapag ang anumang halaga na natagpuan sa unang 10 mga cell, para dito na ipinasok ko ang ilang halaga ng teksto sa cell A8.
Ngayon nais kong turuan ito sa code na nagsasabing "kung ang looping cell ay may tiyak na halaga dapat itong lumabas sa loop bago ang paunang natukoy na limitasyon".
Code:
Sub Exit_Loop () Dim K As Long For K = 1 To 10 If Cells (K, 1) .Value = "" Then Cells (K, 1). Value = K Else Exit For End Kung Susunod K End Sub
Tingnan ang linya ng code na ito:
Kung ang Mga Cell (K, 1). Halaga = "" Kung gayon
Mga Cell (K, 1). Halaga = K
Iba pa
Exit Para sa
Tapusin kung
Sinasabi nito Kung ang Mga Cell (K, 1) .Value = "" na looping cell ay katumbas ng wala na ipagpatuloy ang loop ng pagpasok ng mga serial number mula 1 hanggang 10.
Ang huling bahagi ng loop ay nagsabi:
Iba pa
Exit Para sa
Kung ang kundisyon sa itaas ay hindi TUNAY pagkatapos ay loop na "Exit For".
Patakbuhin ngayon ang code ay ipasok nito ang mga serial number hanggang sa A7 cell.
Ang code sa itaas ay kaagad na lumabas sa loop nang walang sinasabi, paano natin malalaman na lumabas ito ng loop.
Upang malinis ang kalabuan na ito kailangan naming maglagay ng isang simpleng kahon ng mensahe ng VBA tulad ng nasa ibaba.
Code:
Sub Exit_Loop () Dim K As Long For K = 1 To 10 If Cells (K, 1) .Value = "" Then Cells (K, 1) .Value = K Else MsgBox "Nakakuha kami ng walang laman na cell, sa cell" & Mga Cell (K, 1) .Address & vbNewLine & "Lumalabas kami ng loop" Exit For End Kung Susunod K End Sub
Kapag ang looping sa pamamagitan ng cell kung ang anumang mga walang laman cell ay natagpuan ito ay ipakita ang mensahe na nagsasabing "Nakuha namin ang walang laman cell, sa cell A8. Lumalabas kami ng loop ”.
Ipaalam nito sa gumagamit ang exit ng loop na may cell address din. Kung may anumang halagang naipasok nang hindi sinasadya maaari naming suriin ang cell address na ibinalik sa kahon ng mensahe.
# 2 - Break Do Hanggang sa Loop
Tulad ng kung paano kami lumabas para sa Susunod na Loop, sa katulad na paraan maaari din kaming lumabas sa loop na "Gawin Hanggang". Halimbawa, tingnan ang code sa ibaba.
Code:
Sub Exit_DoUntil_Loop () Dim K As Long K = 1 Do Hanggang K = 11 Mga Cell (K, 1). Halaga = K K = K + 1 Loop End Sub
Gumagawa rin ang code na ito ng gawain ng pagpasok ng mga serial number. Halimbawa, kung nais naming lumabas sa loop kapag ang variable na "k" na halaga ay naging 6, kailangan naming ipasok ang mga pamantayan bilang KUNG k = 6 pagkatapos ay lumabas sa loop.
Code:
Sub Exit_DoUntil_Loop () Dim K As Long K = 1 Do Hanggang K = 11 Kung K <6 Pagkatapos ng Mga Cell (K, 1). Halaga = K Else Exit Do End Kung K = K + 1 Loop End Sub
Patakbuhin nito ang loop hanggang sa maging 6 ang halaga ng variable, pagkatapos nito ay lalabas ito sa loop. Kung nais mong ipakita ang mensahe sa gumagamit maaari mo ring idagdag ang kahon ng mensahe.
Code:
Sub Exit_DoUntil_Loop () Dim K As Long K = 1 Do Hanggang K = 11 Kung K 5 "Exit Do End Kung K = K + 1 Loop End Sub
Ipapakita nito ang mensahe sa ibaba.
Tulad nito batay sa mga pamantayang ibinigay, maaari kaming lumabas sa loop kung ang mga pamantayan ay TUNAY o maaari nating ipagpatuloy ang loop.