Я недавно приступил к разработке макросов для Excel после долгого отсутствия необходимости.
У меня есть один столбец с двумястами строками, где каждая строка имеет значение.Я написал цикл для итерации к каждому значению строки, прочитал текущее значение и затем записал значение обратно минус последний символ.
Вот некоторый фактический (и псевдо) код того, что я написал.
Dim theRow as Long
Dim totRow as Long
Dim fooStr as String
theRow = 2 'we begin on the second row of the colummn
totRow = 201 'there are 200 values
For theRow = 2 to totRow
fooStr = WorkSheets(DestSheet).Cells(theRow,"A").Formula 'read the cell value
fooStr = Left(fooStr,Len(fooStr)-1 'subtract the last character from the value
Cells(theRow,1).Value = fooStr 'write the value back
Next theRow
После некоторого чтения я узнал, что лучше всего читать и записывать значения, используя Range.Можно ли переписать то, что я делаю, используя Range, чтобы он шел быстрее?
Вот что я придумал до сих пор.
Range("A2:A201").Value = Len(Range.Left("A2:A201").Value)-1
Однако это не работает.
Любые подсказки о том, как это сделать, если это действительно возможно?
Спасибо за любые советы.