Voodooism
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Спасибо за совет! Я написал вот так: If TextBox1 <> "" Then Cells(5, 3) = TextBox1 If TextBox2 <> "" Then Cells(5, 5) = Val(TextBox2) If TextBox3 <> "" Then Cells(5, 6) = Val(TextBox3) Странно, но изначально именно так и думал, и даже пробовал, но почему то прога не работала Сейчас решаю другую задачу: http://i.imgur.com/gniA5.jpg (на картинке табличка по которой нужно решить задачу) Нужно написать цикл который последовательно в каждой строке перемножает ячейки 1*А и 2*В и записывает сумму произведений в ячейку итога. Пока написал вот что: For i = 2 To 4 Sum = 0 Sum = Sum + Cells(i, 2) * Cells(i, 4) + Cells(i, 3) * Cells(i, 5) Cells(i, 6) = Sum Next i Но теперь задача усложняется, и нужно написать код для произвольного количества строк и столбцов. Т.е. может произвольное количество пар типа 3*C, 4*D, 5*E и т.д. и увеличится количество строк. Update. Ситуацию увеличением количества строк я разобрал. Добавляем цикл определения последней строки: k = 2 Do If CStr(Cells(k, 1)) = "" Then M = k - 1 Exit Do Else k = k + 1 End If Loop И меняем For i = 3 To 5 на For i = 2 To M Со дополнительными столбцами пока что мрак Можно, конечно, добавить цикл определения последнего столбца, но тогда прийдется изменять основной цикл( ведь по сути, столбцы у меня вводятся вручную), а как это сделать я не соображу Update: Всё, задачу решил сам. Если кому интересно могу скинуть решение | Всего записей: 7 | Зарегистр. 22-11-2012 | Отправлено: 21:22 18-12-2012 | Исправлено: Voodooism, 23:25 18-12-2012 |
|