Цикъл през клетки - Съвети за Excel

Ричард пише:

Ако мога да бъда толкова смел да попитам, бих бил благодарен, ако можете да ме осветите по отношение на отговора на тази объркваща загадка за синтатична цялост videlict:

Когато препращате към клетка за външна употреба в VisualBasic, например чрез "Обхват (" F3 "). Изберете" предположим, че искам вместо колона 1 да замествам променлива от цикъл към следния край:

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

например.

Ясно е, че човек не може просто да използва FScarab там, където преди би имал F3, но може би има метод, чрез който може да се постигне желаният резултат. Тоест, има ли начин да се отнесете към клетката в колона F и ред Scarab за променливата Scarab и ако да, можете ли да разкриете тази информация.

Има няколко начина да направите това. Вероятно най-интуитивният е този метод, който включва обединяване на буквата на колоната "F" с числовия номер на реда в референтния обхват ().

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

Следващият метод използва функцията CELLS (ред, колона) вместо референтен обхват. В този случай редът и колоната трябва да са числови. Вашата променлива с номер на ред вече е цифрова, така че просто трябва да преобразувате "F" в 6 в главата си. Също така ще забележите, че не е необходимо да избирате клетката, можете просто да й присвоите стойност.

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

И накрая, възможно е просто да преминете през всяка клетка в диапазона:

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

Интересни статии...