Как успешно управлять циклом для расчета? - PullRequest
0 голосов
/ 23 мая 2019

Я должен сделать расчет на 100,00 строк, я должен сделать цикл и объявить переменные.Но повернуть формулу до конца невозможно, заполняется только первая строка.

'variable declaration
 Dim ls As Worksheet
 Set ls = ThisWorkbook.Worksheets("BASE2")
 Dim Lrow As Long
 Lrow = ls.Cells(ls.Rows.Count, "A").End(xlUp).Row

 'calculation
 ls.Range("I2:I" & Lrow).FormulaR1C1 = "=TRIM(LEFT(RC[-6],10))"
 Range("I1").Select
 ActiveCell.FormulaR1C1 = "Article sans désignation"
 Columns("I:I").ColumnWidth = 20.71

Я бы хотел уменьшить эту формулу до 95000 строк (которые будут изменяться от одного раза к другому, поэтому я сделал цикл)

1 Ответ

0 голосов
/ 23 мая 2019

Ваш код правильный и работает (см. Ниже).Я просто думаю, что у вас может быть неправильный столбец для выбора последней строки.Итак, вот ваш код с некоторой отладочной информацией.Может быть, это поможет вам все заработать.

'variable declaration
 Dim ls As Worksheet
 Set ls = ThisWorkbook.Worksheets("BASE2")
 Dim Lrow As Long
 Lrow = ls.Cells(ls.Rows.Count, "A").End(xlUp).Row

 MsgBox "Column A is filled up to row " & Lrow & " with data. Therefore," & Chr(10) _
    & "the following range will be used: " & ls.Range("I2:I" & Lrow).Address

 'calculation
 ls.Range("I2:I" & Lrow).FormulaR1C1 = "=TRIM(LEFT(RC[-6],10))"
 Range("I1").Value2 = "Article sans désignation"
 Columns("I:I").ColumnWidth = 20.71

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...