Loop per ląsteles - „Excel“ patarimai

Ričardas rašo:

Jei galiu taip drąsiai paklausti, turėčiau būti dėkingas, jei galėtumėte man paaiškinti, kaip atsakyti į šį gluminantį galvosūkį sintetinio vientisumo videliktui:

Nurodydami langelį išoriniam naudojimui „VisualBasic“, pvz., Naudodami „Range“ („F3“). Pasirinkite „Tarkime, kad norėčiau vietoj 1 stulpelio pakeisti kintamąjį iš ciklo į šį galą:

For Scarab=3 To 15 Range("FScarab").Select ActiveCell.Value = Scarab * Scarab - 3 Next Scarab

pavyzdžiui.

Aišku, negalima naudoti „FScarab“ ne tik ten, kur anksčiau būtų buvę F3, bet galbūt yra metodas, kuriuo galima pasiekti norimą rezultatą. Tai yra, ar yra būdas nurodyti kintamojo „Scarab“ langelio F stulpelyje ir „Scarab“ eilutėje ir, jei taip, ar galėtumėte atskleisti šią informaciją.

Tai galima padaryti keliais būdais. Tikriausiai pats intuityviausias yra šis metodas, kai stulpelio raidė „F“ sujungiama su skaitiniu eilutės numeriu, esančiu nuorodos „Range“ () srityje.

For Scarab=3 To 15 Range("F" & Scarab).Select ActiveCell.Value = Scarab * Scarab - 3 Next Scarab

Kitas metodas naudoja CELLS (eilutė, stulpelis) funkciją, o ne diapazono nuorodą. Tokiu atveju eilutė ir stulpelis turi būti skaitiniai. Jūsų eilutės numerio kintamasis jau yra skaitinis, todėl jūs tiesiog turite konvertuoti „F“ į 6 galvoje. Taip pat pastebėsite, kad langelio pasirinkti nėra būtina, galite tiesiog priskirti jam vertę.

For Scarab=3 To 15 Cells(Scarab, 6).Value = Scarab * Scarab - 3 Next Scarab

Galiausiai galima tiesiog pereiti per kiekvieną diapazono langelį:

For Each cell in Range("F3:F15") Cell.Value = Cell.Row * Cell.Row - 3 Next Cell

Įdomios straipsniai...