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

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

23.04.2018, 16:24. Просмотров 837. Ответов 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
Ответы с готовыми решениями:

Задача в экселе
Добрый день! Подскажите,пожайлуста,можно ли сделать задачу на автомате: в...

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

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

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

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

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
Казанский
13937 / 5700 / 1459
Регистрация: 24.09.2011
Сообщений: 8,918
23.04.2018, 18:31 #5
Лучший ответ Сообщение было отмечено Илья9 как решение

Решение

Цитата Сообщение от Илья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
Казанский
13937 / 5700 / 1459
Регистрация: 24.09.2011
Сообщений: 8,918
23.04.2018, 20:40 #7
Лучший ответ Сообщение было отмечено Илья9 как решение

Решение

Цитата Сообщение от Илья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
36 / 27 / 2
Регистрация: 19.11.2017
Сообщений: 92
Завершенные тесты: 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

Сортировка листов в экселе
Sub Sortsheets() Dim i As Integer Dim c As Integer For i = 1...

Список всех шрифтов в Экселе
Подскажите,пожалуйста, как программно получить доступ ко всей коллекции шрифтов...

Заливка строчек в Экселе через VBA
Добрый день. Подскажите, если кто знает. Условное форматирование->Управление...


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

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

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