Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 08.04.2015
Сообщений: 135

Друзья немного сократить код VBA

06.12.2016, 15:58. Показов 1236. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят, написал код. Но он слишком большой. очень много If. Как бы мне его сократить.
Механика кода проста. Есть сводная таблица, он оттуда просматривает значения и суммирует их вставляя в определенные ячейки результат моего вычисления. Т.е он находит сначала 2011 и все что меньше, выдает сумму, потом по 2012 также и до 2016.

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
Sub syma()
Dim w As Worksheet
Dim s1, s2, s3, s4, s5, s6, x As Integer
Dim a, b, c, d, e, f, lr As String
a = "2012"
b = "2013"
d = "2014"
e = "2015"
f = "2016"
lr = Cells(Rows.Count, 1).End(xlUp).Row
Set w = ActiveWorkbook.Sheets("Ò3")
For x = 5 To lr
c = Cells(x, 1)
If (Left(c, 4) < a) Then
s1 = s1 + Cells(x, 2)
w.Cells(4, 3) = s1
End If
 
If (Left(c, 4) = a) Then
s2 = s2 + Cells(x, 2)
w.Cells(5, 3) = s2
End If
 
If (Left(c, 4) = b) Then
s3 = s3 + Cells(x, 2)
w.Cells(6, 3) = s3
End If
If (Left(c, 4) = d) Then
s4 = s4 + Cells(x, 2)
w.Cells(7, 3) = s4
End If
If (Left(c, 4) = e) Then
s5 = s5 + Cells(x, 2)
w.Cells(8, 3) = s5
End If
If (Left(c, 4) = f) Then
s6 = s6 + Cells(x, 2)
w.Cells(9, 3) = s6
End If
 
Next x
End Sub
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.12.2016, 15:58
Ответы с готовыми решениями:

Слишком длинный типовой код в UserForm VBA. Как сократить код?
Программа выдает ошибку о слишком длинном коде. 1. Есть форма, в форме Multipage с 30 вкладками, на каждой вкладке 20 кнопок. 2. Тексты...

VBA: Сократить текст каждой ячейки столбца Excel
Здравствуйте, В столбце А выбираю из выпадающего списка (А-тест, А1-тест/тест, АА1-тест/тест/тест). Мне нужно, чтобы после того, как я...

Друзья сделайте за меня код на рнр!
Задача1.В данном файле, содержащем целые числа, определить элемент с максимальным произведением цифр. Задача2.Базы данных: Автомобили...

20
0 / 0 / 0
Регистрация: 08.04.2015
Сообщений: 135
06.12.2016, 18:01  [ТС]
Студворк — интернет-сервис помощи студентам
там на с3 фильтр стоит его снять можно из за этого не все показывает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.12.2016, 18:01

Сократить код
Hello World, помогите придумать обработку замены + 1 +2 +3 итд в цикл, тем самым сократить код For n = 1 To 41 Step 10 If...

Сократить код
Добрый вечер! Можно ли как-нибудь сократить код? public void newDesign(JPanel panel) { for (int i = 0; i &lt; 5; i++) { if...

Сократить JS-код
Добрый день. Как можно сократить этот JS-код? $(document).ready(function(){ $(&quot;.btn-mymodal&quot;).click(function() { ...

Сократить код
Необходимо чтобы после ввода матрицы, программа находила минимакс по строкам и максимин по столбцам, прошу помочь в максимальном сокращении...

Сократить код
Есть кусок кода, он рабочий, хотелось бы сделать его компактнее. Вероятно case и массивы, но чёсь не получается. На Руси издревле помогали...


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Теория всего 6. Судьба неотвратима?
anaschu 21.07.2026
Математическое доказательство Судьбы: Точка бифуркации в едином тензорном ядре Модели ВсегоСвежее обновление питоновского ядра «Soil Chemistry 2. 0» дало нам неопровержимое математическое. . .
Теория всего 5. ядро Теории Всего: Математический изоморфизм репликаторов и иллюзия свободы воли
anaschu 21.07.2026
Единое ядро Теории Всего: Математический изоморфизм репликаторов и иллюзия свободы воли Главная задача «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы» (аттракторов. . .
сукцессия 37. Внедрил дипсик в свой оркестр из ИИ. У него закончилось пространство чата, потому опубликую выводы из его работы здесь
anaschu 21.07.2026
==================================================================== КОНТЕКСТ: Моделирование микоризной сукцессии (AM → ECM) ==================================================================== . . .
сукцессия 36. Делаю прогоны модели около порога бифуркации (превращения эндо микоризы в экто микоризу)
anaschu 21.07.2026
СУКЦЕССИЯ МИКОРИЗ: КАК МАТЕМАТИКА ОБЪЯСНЯЕТ ПОДЗЕМНУЮ ВОЙНУ Мы привыкли думать, что лес — это деревья. А грибы — это то, что мы собираем в корзинку осенью. Но если заглянуть под землю, окажется,. . .
ИИ и человечность
kumehtar 21.07.2026
Забавно, что общаясь с ИИ, я замечаю, насколько он высказывается умно, и насколько верит в людей. Он умеет прощать. Он знает как отвечать не обесценивая опыт других людей, даже если сам не верит. Он. . .
Нейтральные знания ..., ... чистая наука. Пока что-то проходит модерацию на Хабре, стоит развить мысль ...
Hrethgir 20.07.2026
К таким радикальным взглядам я конечно в той публикации не приходил, но чтобы скоротать вечер, решил углубиться немного. 1. Почему показания термометра заряжены целью? Цель заложена в самом. . .
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru