Друзья немного сократить код VBA
Формулировка задачи:
Ребят, написал код. Но он слишком большой. очень много If. Как бы мне его сократить.
Механика кода проста. Есть сводная таблица, он оттуда просматривает значения и суммирует их вставляя в определенные ячейки результат моего вычисления. Т.е он находит сначала 2011 и все что меньше, выдает сумму, потом по 2012 также и до 2016.
Решение задачи: «Друзья немного сократить код VBA»
textual
Листинг программы
Option Explicit Sub syma() Dim w As Worksheet Dim 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 - 1 Set w = ActiveWorkbook.Sheets("Т3") w.Range(w.Cells(4, 3), w.Cells(9, 3)).ClearContents w.Range(w.Cells(4, 5), w.Cells(9, 5)).ClearContents w.Range(w.Cells(4, 7), w.Cells(9, 7)).ClearContents For x = 5 To lr c = Cells(x, 1) Select Case Left(c, 4) Case a: w.Cells(5, 3) = w.Cells(5, 3) + Cells(x, 2) Case b: w.Cells(6, 3) = w.Cells(6, 3) + Cells(x, 2) Case d: w.Cells(7, 3) = w.Cells(7, 3) + Cells(x, 2) Case e: w.Cells(8, 3) = w.Cells(8, 3) + Cells(x, 2) Case f: w.Cells(9, 3) = w.Cells(9, 3) + Cells(x, 2) Case Else w.Cells(4, 3) = w.Cells(4, 3) + Cells(x, 2) w.Cells(4, 5) = w.Cells(4, 5) + Cells(x, 4) w.Cells(4, 7) = w.Cells(4, 7) + Cells(x, 6) End Select Next x End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д