Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как ограничить диапазон FormulaR1C1? - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как ограничить диапазон FormulaR1C1? (Макросы/Sub)
Как ограничить диапазон FormulaR1C1?
geometridae Дата: Понедельник, 04.03.2019, 19:25 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте. Пытаюсь понять как сделать так, чтобы FormulaR1C1 вставляла формулы в каждую 24 ячейку столбца. Но как только код добирается до строки
[vba]
Код
Cells.Item(i, 10).FormulaR1C1 = "= RC[-2]+RC[-1]"
[/vba]
Заполняются все ячейки столбца.
Можно ли как-то это изменить?
Спасибо.
К сообщению приложен файл: 8587753.xlsm(18.3 Kb)
 
Ответить
СообщениеЗдравствуйте. Пытаюсь понять как сделать так, чтобы FormulaR1C1 вставляла формулы в каждую 24 ячейку столбца. Но как только код добирается до строки
[vba]
Код
Cells.Item(i, 10).FormulaR1C1 = "= RC[-2]+RC[-1]"
[/vba]
Заполняются все ячейки столбца.
Можно ли как-то это изменить?
Спасибо.

Автор - geometridae
Дата добавления - 04.03.2019 в 19:25
_Boroda_ Дата: Понедельник, 04.03.2019, 20:25 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 14442
Репутация: 5779 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Вверху макроса отключите вычисляемые столбцы
[vba]
Код
Application.AutoCorrect.AutoFillFormulasInLists = 0
[/vba]
А внизу включите обратно
[vba]
Код
Application.AutoCorrect.AutoFillFormulasInLists = 1
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВверху макроса отключите вычисляемые столбцы
[vba]
Код
Application.AutoCorrect.AutoFillFormulasInLists = 0
[/vba]
А внизу включите обратно
[vba]
Код
Application.AutoCorrect.AutoFillFormulasInLists = 1
[/vba]

Автор - _Boroda_
Дата добавления - 04.03.2019 в 20:25
krosav4ig Дата: Понедельник, 04.03.2019, 20:32 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1984
Репутация: 840 ±
Замечаний: 0% ±

Excel 2007,2010,2013
в начале кода [vba]
Код
dim bool as Boolean
        bool = Application.AutoCorrect.AutoFillFormulasInLists
        Application.AutoCorrect.AutoFillFormulasInLists = False
[/vba]в конце [vba]
Код
Application.AutoCorrect.AutoFillFormulasInLists = bool
[/vba]

[vba]
Код
Sub Date_And_Time_GAZ_2()
    Dim start_time As Date, i As Integer, Arr(), bool As Boolean, calc&
    
    start_time = InputBox("Введите дату, с которой начнётся таблица. Например 01.01.2019")
    Arr = [transpose(transpose(mod(row(r1:r24),24)))/24]
    With Application
        bool = .AutoCorrect.AutoFillFormulasInLists
        .AutoCorrect.AutoFillFormulasInLists = False: calc = .Calculation
        .ScreenUpdating = 0: .EnableEvents = 0: .Calculation = xlCalculationManual
        With .ActiveSheet.ListObjects.Add(xlSrcRange, Range(Cells(1, 1), Cells(10010, 10)), , xlNo)
            .Name = "ГАЗ"
            For i = 2 To (.ListRows.Count \ 24) * 24 Step 24
                With .ListColumns(1).Range.Cells(i)
                    .Value = start_time + i \ 24
                    With .Offset(, 1).Resize(24)
                        .Value = Arr
                        .NumberFormat = "hh:mm"
                    End With
                    .Offset(23, 2).Resize(, 5).Borders(xlEdgeBottom).Weight = xlThick
                    With .Offset(23, 7).Resize(, 3)
                        .Interior.ColorIndex = 27
                        .Borders.Weight = xlThick
                        .Cells(1, 3).FormulaR1C1 = "= RC[-2]+RC[-1]"
                    End With
                End With
            Next
        End With
        Application.AutoCorrect.AutoFillFormulasInLists = bool
        .ScreenUpdating = 1: .EnableEvents = 1: .Calculation = calc
    End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 04.03.2019, 20:34
 
Ответить
Сообщениев начале кода [vba]
Код
dim bool as Boolean
        bool = Application.AutoCorrect.AutoFillFormulasInLists
        Application.AutoCorrect.AutoFillFormulasInLists = False
[/vba]в конце [vba]
Код
Application.AutoCorrect.AutoFillFormulasInLists = bool
[/vba]

[vba]
Код
Sub Date_And_Time_GAZ_2()
    Dim start_time As Date, i As Integer, Arr(), bool As Boolean, calc&
    
    start_time = InputBox("Введите дату, с которой начнётся таблица. Например 01.01.2019")
    Arr = [transpose(transpose(mod(row(r1:r24),24)))/24]
    With Application
        bool = .AutoCorrect.AutoFillFormulasInLists
        .AutoCorrect.AutoFillFormulasInLists = False: calc = .Calculation
        .ScreenUpdating = 0: .EnableEvents = 0: .Calculation = xlCalculationManual
        With .ActiveSheet.ListObjects.Add(xlSrcRange, Range(Cells(1, 1), Cells(10010, 10)), , xlNo)
            .Name = "ГАЗ"
            For i = 2 To (.ListRows.Count \ 24) * 24 Step 24
                With .ListColumns(1).Range.Cells(i)
                    .Value = start_time + i \ 24
                    With .Offset(, 1).Resize(24)
                        .Value = Arr
                        .NumberFormat = "hh:mm"
                    End With
                    .Offset(23, 2).Resize(, 5).Borders(xlEdgeBottom).Weight = xlThick
                    With .Offset(23, 7).Resize(, 3)
                        .Interior.ColorIndex = 27
                        .Borders.Weight = xlThick
                        .Cells(1, 3).FormulaR1C1 = "= RC[-2]+RC[-1]"
                    End With
                End With
            Next
        End With
        Application.AutoCorrect.AutoFillFormulasInLists = bool
        .ScreenUpdating = 1: .EnableEvents = 1: .Calculation = calc
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 04.03.2019 в 20:32
geometridae Дата: Вторник, 05.03.2019, 22:28 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Большое спасибо!!!
 
Ответить
СообщениеБольшое спасибо!!!

Автор - geometridae
Дата добавления - 05.03.2019 в 22:28
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как ограничить диапазон FormulaR1C1? (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!