[more] Спасибо за совет!
Я написал вот так:
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:
Всё, задачу решил сам. Если кому интересно могу скинуть решение
[/more]