Форум программистов, компьютерный форум, киберфорум
MS Office Excel
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для maksim11082012
4 / 4 / 4
Регистрация: 11.08.2012
Сообщений: 730

Вставка формулы

04.03.2025, 06:46. Показов 1291. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Задачка нарисовалась необходимо вставить формулу по условию, но тут есть небольшой ньюансик. в таблице каждый раз при формировании меняется количество строк. То есть как я скумекал нужно выставить формулу из этого расчета. Типа расшифровка. excel находит последнюю строку переходит на пустую и вставляет формулу.
Попытался адаптировать след код. всё работает по крайне мере первый этап, но у меня загвоздка при попытке выставить свою формулу, VBA начинает ругаться при обычном тексте нет. Код в excel.
ПримерДляФорума.zip
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.03.2025, 06:46
Ответы с готовыми решениями:

вставка формулы
в екселе создаю три колонки содержащие параметры цвета в R/G/B. есть формула как перевести формат цвета из RGB в HSV. как загнать формулу в...

Вставка формулы в Visio
Как вставить формулу из ворда в висио, вставляю, появляется пустое место, где должна отображаться формула

Автоматическая вставка формулы
Люди, здравствуйте. Если ли способ автоматом вставлять уже имеющуюся формулу в только что созданные для таблицы строки? Формула одна...

16
3943 / 2336 / 790
Регистрация: 02.11.2012
Сообщений: 6,208
04.03.2025, 08:28
Лучший ответ Сообщение было отмечено maksim11082012 как решение

Решение

формула точно в столбце А нужна?
FormulaLocal используйте.
диапазон не с С4 начинается?

П.С. по вопросам VBA есть отдельная ветка.
1
 Аватар для maksim11082012
4 / 4 / 4
Регистрация: 11.08.2012
Сообщений: 730
04.03.2025, 08:30  [ТС]
Цитата Сообщение от Vlad999 Посмотреть сообщение
формула точно в столбце А нужна?
FormulaLocal используйте.
не в А в С если я не ошибаюсь но это уже самому можно подправить...
0
3943 / 2336 / 790
Регистрация: 02.11.2012
Сообщений: 6,208
04.03.2025, 08:32
Code
1
Ëèñò1.Range("a"
у вас в А вставляется
Последнюю строку 2 раза искать тоже не обязательно. maxR или n
1
 Аватар для maksim11082012
4 / 4 / 4
Регистрация: 11.08.2012
Сообщений: 730
04.03.2025, 08:35  [ТС]
Цитата Сообщение от Vlad999 Посмотреть сообщение
Последнюю строку 2 раза искать тоже не обязательно. maxR или n
Переменную и строку можно убрать?
Цитата Сообщение от Vlad999 Посмотреть сообщение
у вас в А вставляется
Ну да пока это так, но теперь формулу вставляет он ругается на #ИМЯ?, но если в ручную выставляю эту же формулу только по русски СУММАЕСЛИ, то считает...
Поставил в коде СУММАЕСЛИ(по русски) и вроде всё пошло, пока пробую не связный диапазон прикрутить
0
3943 / 2336 / 790
Регистрация: 02.11.2012
Сообщений: 6,208
04.03.2025, 08:54
Цитата Сообщение от maksim11082012 Посмотреть сообщение
Переменную и строку можно убрать?
Ну как бы да. Одну из двух оставьте.
0
 Аватар для maksim11082012
4 / 4 / 4
Регистрация: 11.08.2012
Сообщений: 730
04.03.2025, 10:13  [ТС]
Цитата Сообщение от Vlad999 Посмотреть сообщение
Ну как бы да. Одну из двух оставьте.
Хорошо, но это не проблема вроде и так работает. Сейчас проблемка для меня в следующем как эту всю историю встроить в основной код. Но так как вы скази что кое, что в этом коде лишнее то попробую их исключить и уже обновленный и укороченный код интегрировать.
0
3943 / 2336 / 790
Регистрация: 02.11.2012
Сообщений: 6,208
04.03.2025, 14:02
формулу с листа можно записать макрорекордером если что.
Цитата Сообщение от maksim11082012 Посмотреть сообщение
всю историю встроить в основной код
Код покажите?
0
 Аватар для maksim11082012
4 / 4 / 4
Регистрация: 11.08.2012
Сообщений: 730
05.03.2025, 10:46  [ТС]
Цитата Сообщение от Vlad999 Посмотреть сообщение
Код покажите?
Конечно можно. Как говорится не мое не жалко я не как ,предыдущий специалист, скрывать нечего.
P.S. Долго прикалывался на его ЗП написанной так же в EXCEl как он пробовал от меня шифроваться, но когда пришел срок мне потребовалось несколько часов чтобы вскрыть его ЗП и убрать ограничения например при переходе на след год. и т.д т.п короче только работы мне прибавил...
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Sub Макрос11()
' Макрос11 Макрос Сформировать свод
' Макрос записан 17.03.2015 (user)
    
    '1) ОЧИСТКА СВОДА
    Sheets("Свод").Select
    Range("A2:I1000").Select
    Selection.ClearContents
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    Selection.Borders(xlEdgeTop).LineStyle = xlNone
    Selection.Borders(xlEdgeBottom).LineStyle = xlNone
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
    Selection.Interior.ColorIndex = xlNone
    Range("A2").Select
    Range("d1") = 0
    
 '2) ФОРМИРОВАНИЕ СВОДА
    Sheets("1").Select
    Call Макрос8
    Sheets("2").Select
    Call Макрос8
    Sheets("3").Select
    Call Макрос8
    Sheets("4").Select
    Call Макрос8
    Sheets("5").Select
    Call Макрос8
    Sheets("6").Select
    Call Макрос8
    Sheets("7").Select
    Call Макрос8
    Sheets("8").Select
    Call Макрос8
    Sheets("9").Select
    Call Макрос8
    Sheets("10").Select
    Call Макрос8
    Sheets("11").Select
    Call Макрос8
    Sheets("продл").Select
    Call Макрос8
    Sheets("гр.разв").Select
    Call Макрос8
    Range("A2").Select
    
    '3) СОХРАНЕНИЕ СВОДА В ДРУГОЙ ФАЙЛ ДЛЯ ПЕРЕСЫЛКИ
    Sheets("Свод").Select
    'Cells.Select
    'Selection.Copy
    'ChDir "C:\z"
    'Workbooks.Open Filename:="C:\z\pitbelsv.xls"
    'Cells.Select
    'ActiveSheet.Paste
    'Range("A2").Select
    'Application.CutCopyMode = False
    'ActiveWorkbook.Save
    'ActiveWindow.Close
    'Range("d1") = lg
    Range("A2").Select
 
End Sub
0
 Аватар для maksim11082012
4 / 4 / 4
Регистрация: 11.08.2012
Сообщений: 730
20.03.2025, 07:10  [ТС]
Здравствуйте, упрощал упрощал код и до этого дописАлся
Visual Basic
1
2
3
4
5
6
7
8
9
Sub копирование()
Dim n As Integer
Range("A2").Select
    n = End(xlUp).Row + 1
    Range("AU187:AV188").Select
    Selection.Copy
    Лист2.Range("n").Select
    ActiveSheet.Paste
End Sub
P.S. Так нельзя писать код...
0
3943 / 2336 / 790
Регистрация: 02.11.2012
Сообщений: 6,208
20.03.2025, 08:23
если работает, то почему нет.
Visual Basic
1
2
3
4
5
Sub копирование()
Dim n As Integer
n = Лист2.Range("A2").End(xlUp).Row + 1
Range("AU187:AV188").Copy Лист2.Range("n").Paste
End Sub
0
 Аватар для maksim11082012
4 / 4 / 4
Регистрация: 11.08.2012
Сообщений: 730
20.03.2025, 08:51  [ТС]
Цитата Сообщение от Vlad999 Посмотреть сообщение
если работает, то почему нет.
Что-то ругается шайтан машинка на Rang 4 строку

Добавлено через 15 минут
Пока только так работает

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub Example()
Dim n As Integer
 
maxR = Лист2.UsedRange.Row - 1 + Лист2.UsedRange.Rows.Count
    n = Лист2.Cells(maxR + 1, 1).End(xlUp).Row + 1
    If n = 2 Then
    If Лист1.Range("a1").Formula = "" Then n = 1
    End If
    Лист2.Range("d" & n).Select
 
    Range("BA671:BB672").Select
    Selection.Copy
    Лист2.Range("f" & n).Select
    ActiveSheet.Paste
End Sub
Взял предыдущий код немножко подкорректировал его и он заработал, только одна проблемка не могу данные чуть переместить влево на одну ячейку... Не понравилось что там стоя только "сухие цифры", А нужно было их подписать, как
Всего льготники
Всего сво


С переносом разобрался, он в двух местах прописывается в 9 и 11 строке. А пока как-то так....
0
3943 / 2336 / 790
Регистрация: 02.11.2012
Сообщений: 6,208
20.03.2025, 09:00
Цитата Сообщение от maksim11082012 Посмотреть сообщение
ругается шайтан машинка на Rang 4 строку
точно, адрес не полный. Должно быть
Visual Basic
1
Range("A" & n)
"А" замените на столбец нужный вам. Возможно еще вместо Paste нужно будет PasteSpecial
файл в первом сообщении чет не подходит под код.
0
 Аватар для maksim11082012
4 / 4 / 4
Регистрация: 11.08.2012
Сообщений: 730
20.03.2025, 10:21  [ТС]
C gthtyjcjv hfpj,hf
С переносом разобра
Цитата Сообщение от Vlad999 Посмотреть сообщение
точно, адрес не полный. Должно быть
После внесение изменение А именно
Code
1
Range("A" & n)
И вместо Paste PasteSpecial все равно ругается на эту строку, после того как я перенес Лист2.Range("E" & n).PasteSpecial на другую строку копирует всё впервую ячейку
0
Одесса - Украина
 Аватар для MikeVol
498 / 180 / 64
Регистрация: 01.04.2020
Сообщений: 557
23.03.2025, 17:06
Всех приветсвую. Наверное правильно форумулу вставить будет так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Option Explicit
 
Sub Кнопка1_Щелчок()
    Dim n As Long, maxR As Long
 
    With Лист1
        maxR = .UsedRange.Row - 1 + .UsedRange.Rows.Count
        n = .Cells(maxR + 1, 1).End(xlUp).Row + 1
 
        If n = 2 Then
            If .Range("A1").Formula = "" Then n = 1
        End If
 
        .Range("a" & n).Formula = "=SUMIF(C4:C" & n - 1 & ",""б"",F4:F" & n - 1 & ")"
        .Range("A" & n).NumberFormat = "0.00"
        .Columns("A").AutoFit
    End With
 
End Sub
У вас же была ошибка в строке:
Visual Basic
1
        .Range("A" & n).Formula = "=SUMIF(C4:C159;""б"";F4:F159)"
; поменял на ,
1
 Аватар для maksim11082012
4 / 4 / 4
Регистрация: 11.08.2012
Сообщений: 730
24.03.2025, 05:07  [ТС]
Здравствуйте, у меня возникли вопросики по вашему коду, а именно:
Цитата Сообщение от MikeVol Посмотреть сообщение
"C" & n - 1 & " и F" & n - 1 & ")"
Какой то странный диапазон. SUMIF именно у меня не проходит, только по русски (суммаесли) и только в таком варианте у меня VBA у меня не ругается
Цитата Сообщение от MikeVol Посмотреть сообщение
.Range("A" & n).NumberFormat = "0.00"
А это скорее всего перевод в числовой формат?
Цитата Сообщение от MikeVol Посмотреть сообщение
.Columns("A").AutoFit
А это подгон ширины, так.
P.S. сразу говорю я новичок в VBA и если для вас вопросики глупые просто не мучайте себя с ответами.
0
Одесса - Украина
 Аватар для MikeVol
498 / 180 / 64
Регистрация: 01.04.2020
Сообщений: 557
24.03.2025, 14:44
maksim11082012,
1).
Цитата Сообщение от MikeVol Посмотреть сообщение
=SUMIF(C4:C" & n - 1 & ",""б"",F4:F" & n - 1 & ")
- в ячейке A10 вставляется такая формула, для английского офиса: =SUMIF(C4:C9,"б",F4:F9) а для
Цитата Сообщение от maksim11082012 Посмотреть сообщение
по русски
=СУММЕСЛИ(C4:C9;"б";F4:F9)
2).
Цитата Сообщение от maksim11082012 Посмотреть сообщение
перевод в числовой формат
Да, оно самое.
3).
Цитата Сообщение от maksim11082012 Посмотреть сообщение
это подгон ширины
И тут да.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.03.2025, 14:44
Помогаю со студенческими работами здесь

Вставка формулы на готовые листы
Собственно, добрый день! Есть ли возможность уже в готовые листы (их очень много) вставить формулы на 1 листе, а он их повторит в таблицах...

Преобразование формулы(вставка значений)
Добрый день! Написал формулу которая смотрит вхождение даты в диапазон дат, проверяет наименование станции и оборудования и в зависимости...

При изменении формулы в ячейке скопировать формулы в ячейки ниже
можно ли как-то сделать через макрос чтобы он сам тянул другую функцию до самого низа? то есть я вписываю =макрос(главный) и после того...

Excel. Применение формул комбинаторики к вычислению вероятностей. Покажите пожалуйста пример
В кассе театра подходит 20 девушек. Сколько существует различных вариантов установок их в очередь друг за другом

Корявое отображение знаков формул в Worde 2003 :(
Всем привет, столкнулся с такой проблемой. При открытии любого вордовского документа, знаки в формулах плюс, умножить, разделить и т.д....


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Веб-автоматизация с Python и Selenium
AI_Generated 25.06.2025
Selenium с Python — это комбинация, которая выдержала проверку временем. Несмотря на появление новых инструментов вроде Playwright или Puppeteer, связка Python-Selenium остаётся золотым стандартом. . .
CQRS и Event Sourcing на C#
ArchitectMsa 25.06.2025
За последние несколько лет сложность корпоративных приложений выросла в геометрической прогрессии. Простые монолитные системы уступили место распределенным микросервисам, а нагрузка на корпоративные. . .
Хак домофона или как открыть дверь по номеру
yariko 25.06.2025
Забыли дома ключ. Не проблема. Можно открыть дверь домофона, просто позвонив на свой номер квартиры. Идея состоит в следующем. Внутрь трубки абонента встраивается контроллер, который по звонку сам. . .
Как украсить новогоднюю елку с Q# и Qiskit
EggHead 24.06.2025
Что может быть необычнее, чем применить законы квантовой механики для украшения новогодней елки? Пока другие развешивают обычные гирлянды, я решил объединить свою страсть к квантовым вычислениям с. . .
Системы нулевого доверия на C#
UnmanagedCoder 24.06.2025
Традиционная архитектура безопасности работает по принципу средневекового замка: создаём высокие стены вокруг корпоративной сети, укрепляем ворота межсетевыми экранами и системами обнаружения. . .
Снова не мой путь. Циклическое среднее, я обеими руками за проверку условия, в ракурсе данной задачи - циклическое среднее в топку.
Hrethgir 24.06.2025
Привет. Такой вопрос - нужно выводить среднее математическое между двумя направлениями, интервал значений которых может лежать в диапазоне одного оборота по кругу. Проблема заключается в том, что. . .
Деплой Flask приложения
py-thonny 23.06.2025
За годы работы с Flask я натыкался на одни и те же грабли достаточно часто, чтобы наконец научится их обходить. И сегодня хочу поделится опытом, который сбережет вам немало нервных клеток. Начнем с. . .
WebAssembly и контейнеры в .NET Aspire для оркестрации распределенных архитектур
ArchitectMsa 23.06.2025
Я наблюдаю, как WebAssembly (или просто WASM) постепенно выходит за рамки своего первоначального предназначения — исполнения кода на стороне браузера. Теперь эта технология проникает в серверную. . .
Непрерывная интеграция для пакета Python
Mr. Docker 22.06.2025
Было 4 часа утра пятницы, когда я выпустил новую версию нашей внутренней библиотеки для обработки данных. Релиз 0. 5. 2 содержал небольшой фикс для обработки дат в ISO формате, что может пойти не так?. . .
Продвинутый ETL на C# из OLTP БД в хранилище
stackOverflow 22.06.2025
Работая в сфере корпоративной аналитики, я постоянно сталкиваюсь с одним и тем же - нужны чистые, структурированные и, главное, свежие данные. Без них современные аналитические системы, машинное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
OSZAR »