Форум программистов, компьютерный форум, киберфорум
Наши страницы

VBA

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 2, средняя оценка - 3.00
Илья9
13 / 40 / 0
Регистрация: 26.11.2017
Сообщений: 105
Завершенные тесты: 1
#1

Формулы в экселе - VBA

23.04.2018, 16:24. Просмотров 227. Ответов 10
Метки нет (Все метки)

Доброго времени суток, не могу справиться с задачей
Есть формула, суть этой формулы состоит в том чтобы взять некоторые данные из других ячеек и подсчитать результат (с этим она справляется превосходно), но есть вторая часть задания: надо сделать так чтобы эта формула сама растянулась и подсчитала остальные данные (Если не понятно выразился, то вы наверняка знаете как работает такая формула "=$F$1*$B5+(1-$F$1)*$b4" в экселе, если взять за уголок и протянуть до конца)
При включении макроса я нажимаю кнопку CommandButton7 она загружает в ячейку формулу, при нажатии CommandButton6 эта формула ДОЛЖНА СРАБОТАТЬ КАК НА ЛИСТЕ В ЭКСЕЛЬ И ВЫДАТЬ РЕЗУЛЬТАТ
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub CommandButton6_Click()
Dim x1, x2, h As Single
Dim s As String
Dim i As Integer
ListBox1.Clear
x1 = 1
x2 = 33
h = 1
  For i = 5 To (Fix((x2 - x1) / h)) 'fix округление
     x = Cells(4, 2).Value 
     Cells(i + 1, 4).Value = Cells(5, 4).Value
Next
End Sub
 
Private Sub CommandButton7_Click()
Dim s As String
s = "=$F$1*$B5+(1-$F$1)*$b4"
Cells(5, 4).Formula = s
End Sub
Спрашивайте что нужно, буду проверять форум каждые 30 мин
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2018, 16:24
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Формулы в экселе (VBA):

Задача в экселе - VBA
Добрый день! Подскажите,пожайлуста,можно ли сделать задачу на автомате: в столбце А1-А100 постоянно обновляются числовые значения,при...

Поиск в Экселе не работает - VBA
Господа, помогите - совсем голову сломал. вот так работает: Sub FindVal() Dim sRng As Range Dim sText As String Dim...

Ошибка 64 в VBAProject в Экселе - VBA
Выходит ошибка 64 Input pas end of file. Кажется, что где-то здесь ошибка, но могу ошибаться. Как можно исправить? Файл с кодом в архиве,...

Сортировка листов в экселе - VBA
Sub Sortsheets() Dim i As Integer Dim c As Integer For i = 1 To 100 c = i + 1 Sheets(i).Move...

Задача в экселе (макрос) - VBA
Добрый День! Помогите,пожайлуста,с решением такой задачи: в эксель импортируются данные с сайта в столбцы А68:A900(текст) и...

Не нажимаются кнопки в экселе - VBA
По какой-то непонятной причине у меня на домашнем компе перестали нажиматься кнопки во время работы макроса. DoEvents позволяет мне...

10
Остап Бонд
23.04.2018, 16:51
  #2

Не по теме:

Цитата Сообщение от Илья9 Посмотреть сообщение
буду проверять форум каждые 30 мин
Звучит как угроза

0
Илья9
13 / 40 / 0
Регистрация: 26.11.2017
Сообщений: 105
Завершенные тесты: 1
23.04.2018, 17:49  [ТС] #3
Остап Бонд, Не в коем случае
0
Илья9
13 / 40 / 0
Регистрация: 26.11.2017
Сообщений: 105
Завершенные тесты: 1
23.04.2018, 18:27  [ТС] #4
После применения этой программы, в ячейки вставляется, вот это
Формулы в экселе
Формула стоит только в ячейке Cells(5, 4).Formula = s
Формулы в экселе
И если только потянуть будут нужные значения
Формулы в экселе
а мне надо так чтобы он сразу писал нам результаты
Помогите пожалуйста
1
Казанский
13829 / 5592 / 1415
Регистрация: 24.09.2011
Сообщений: 8,775
23.04.2018, 18:31 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Илья9 Посмотреть сообщение
при нажатии CommandButton6 эта формула ДОЛЖНА СРАБОТАТЬ КАК НА ЛИСТЕ В ЭКСЕЛЬ И ВЫДАТЬ РЕЗУЛЬТАТ
Visual Basic
1
Cells(5, 4).autofill range(Cells(5, 4),cells(rows.Count ,"B").end(xlup).offset(,2))
3
Илья9
13 / 40 / 0
Регистрация: 26.11.2017
Сообщений: 105
Завершенные тесты: 1
23.04.2018, 20:15  [ТС] #6
Казанский, я бы точно не допёр
Все вроде бы работает , спасибо большое, сижу на стуле подпрыгиваю

Добавлено через 1 час 23 минуты
Казанский, Скорее всего больше не ответите, но все же
Я написал формулу на 6, 3
Cells(6, 3).AutoFill Range(Cells(6, 3), Cells(Rows.Count, "B").End(xlUp).Offset(, 2))
Переписываю вот так, и он мне выдаёт ошибку "Метод афтофилл из класса ранге завершен не верно"

Добавлено через 8 минут
Цитата Сообщение от Илья9 Посмотреть сообщение
End(xlUp).Offset(, 2))
Offset(, 3) поставил
1
Казанский
13829 / 5592 / 1415
Регистрация: 24.09.2011
Сообщений: 8,775
23.04.2018, 20:40 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Илья9 Посмотреть сообщение
Offset(, 3) поставил
А надо Offset(, 1)
Cells(Rows.Count, "B").End(xlUp) - последняя занятая ячейка в ст. В, это как если бы выделить самую последнюю ячейку в ст. В и нажать Ctrl+вверх.
Offset(, ...) - смещение до нужного столбца.
Можно так еще написать
Visual Basic
1
2
3
cells(6,3).autofill range(cells(6,3),cells(cells(rows.Count ,"B").end(xlup).row,3))
'или
cells(6,3).autofill cells(6,3).resize(cells(rows.Count ,"B").end(xlup).row-5)
3
TomasEddisoN
Заблокирован
23.04.2018, 20:59 #8
Спасибо за помощь!
1
Илья9
13 / 40 / 0
Регистрация: 26.11.2017
Сообщений: 105
Завершенные тесты: 1
24.04.2018, 07:23  [ТС] #9
Казанский, Спасибо вам большое, теперь все понял, исправил, все работает
1
SamTy
35 / 26 / 2
Регистрация: 19.11.2017
Сообщений: 86
Завершенные тесты: 5
24.04.2018, 13:52 #10
Остап Бонд, не устал флудить, эскперт?

Добавлено через 1 минуту
Остап Бонд, мастер по спаму. Мусорщик
0
johny_ez
36 / 6 / 0
Регистрация: 24.04.2018
Сообщений: 8
24.04.2018, 18:55 #11
Классная тема
1
24.04.2018, 18:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2018, 18:55
Привет! Вот еще темы с ответами:

Список всех шрифтов в Экселе - VBA
Подскажите,пожалуйста, как программно получить доступ ко всей коллекции шрифтов в Экселе?Чтобы через font задать, надо обязательно его имя...

Ограничения на объем кода программы в экселе - VBA
Наверное не все знают, что при большом объеме текста кода - интерпретатор перестает обрабатывать программу - тупо кидается на первый...

Заливка строчек в Экселе через VBA - VBA
Привет всем, Очень прошу, помогите сделать следующее: Есть таблица. В столбце «B» прописаны значения «Да» либо «Нет». Как сделать...

Как в Экселе изменить влияние скролингов - VBA
Доброго времени суток на циферблате! Не знаю понятно ли спрашиваю!... Как в Экселе изменить влияние скролингов на прокрутку только...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru