2017-02-22 20 views
0

Вот мой кодцикл по строкам и добавление значения

With Worksheets("Sheet1") 
    For x = 5 To x = 30 Step 1 
    Set addRange1 = .Range(.Cells(x, 4), .Cells(x, myCount2)) 
    cell(x, myCount2 + 2).Value = Application.Sum(addRange1) 
Next 
End With 

Первая строка будет клетка (5,4) в клетку (5, 20) или что-то. Суммировать значения этой строки и отобразить его в ячейке (5,22) Повторять до х = 30

Надежда, что ясно Получение пустых ячеек, где значение суммы должно быть

+0

Вы должны получать 'Sub или Function not defined' на' Cell'. Используйте «Ячейки», также у вас есть «Option Explicit» в верхней части модуля, так как вы не указали свои переменные. –

+0

Я объявил addRange1 и myCount2, просто не включил его в сообщение –

+0

@ DarrenBartrup-Cook Этот фрагмент кода находится в пределах субтитров btw –

ответ

0

Это было бы правильно:

With Worksheets("Sheet1") 
    For x = 5 To 30 
     Set addRange1 = .Range(.Cells(x, 4), .Cells(x, myCount2)) 
     Cells(x, myCount2 + 2).Value = Application.Sum(addRange1) 
    Next 
End With 

Был неверным For ... Next. Вместо To x = 30 это должно быть To 30.

Информация о том, что произошло здесь: Если вы пройдете через свой код шаг за шагом, вы заметили бы, что все, что находится внутри вашего For ... Next, никогда не выполняется. Это связано с тем, что x = 30 в For устанавливает x на значение 30, и это конец For, так что For никогда не выполняется.

The Step 1 не нужно, это 1 по умолчанию, вы можете удалить его или сохранить его, но это не обязательно.

И как Даррен Бартруп-Кук упомянул, что это должно быть Cells вместо Cell.

Смежные вопросы