Добрый день! Создаю реестр, чтоб была возможность автоматически считать страницы. Сделал как смог, но с двумя дополнительными столбцами (выделил желтым). Можно ли это сделать одной формулой в зеленом столбце?
Добрый день! Создаю реестр, чтоб была возможность автоматически считать страницы. Сделал как смог, но с двумя дополнительными столбцами (выделил желтым). Можно ли это сделать одной формулой в зеленом столбце?CHEVRYACHOK
Sub tt() Dim L As Long: L = Cells(Rows.Count, 1).End(xlUp).Row Dim StartPg As Long, EndPg As Long, CntPg As Long Dim I As Long Dim Res As String For I = 7 To L StartPg = EndPg + 1 EndPg = StartPg + Cells(I, "F") - 1 CntPg = Cells(I, "F") If CntPg > 1 Then Res = StartPg & " - " & EndPg Else Res = Str(StartPg) End If With Cells(I, "G") .NumberFormat = "@" .Value = Res End With Next I End Sub
[/vba]
Макрос устроит? [vba]
Код
Option Explicit
Sub tt() Dim L As Long: L = Cells(Rows.Count, 1).End(xlUp).Row Dim StartPg As Long, EndPg As Long, CntPg As Long Dim I As Long Dim Res As String For I = 7 To L StartPg = EndPg + 1 EndPg = StartPg + Cells(I, "F") - 1 CntPg = Cells(I, "F") If CntPg > 1 Then Res = StartPg & " - " & EndPg Else Res = Str(StartPg) End If With Cells(I, "G") .NumberFormat = "@" .Value = Res End With Next I End Sub
_Boroda_, добрый день! Все так, но при добавлении новых строк (зеленые) следующая за ними выдает не правильный результат, хотя дальше все как надо
_Boroda_, добрый день! Все так, но при добавлении новых строк (зеленые) следующая за ними выдает не правильный результат, хотя дальше все как надоCHEVRYACHOK
CHEVRYACHOK, По идее при простом копировании, должна. Но могут быть такие вот неприятности, лучше всего, проверять на какие ячейки ссылается формула или протягивать ту, что уже написана.
CHEVRYACHOK, По идее при простом копировании, должна. Но могут быть такие вот неприятности, лучше всего, проверять на какие ячейки ссылается формула или протягивать ту, что уже написана.YouGreed
разве формула не должна в этом случае сама копироваться?
Только если во всем столбце одинаковые формулы. А у Вас в строке 7 вообще не формула, а цифра 6. Варианты решения: - переделать диапазон таблицы - файл _1 - переделать формулу - файл _2 Я бы выбрал первый вариант
разве формула не должна в этом случае сама копироваться?
Только если во всем столбце одинаковые формулы. А у Вас в строке 7 вообще не формула, а цифра 6. Варианты решения: - переделать диапазон таблицы - файл _1 - переделать формулу - файл _2 Я бы выбрал первый вариант_Boroda_