У меня такая задача: есть выпадающий список со значениями, при выборе одного из этих значений в трех других ячейках на этом же листе должны меняться значения.
Рабочий код я написал, он выглядит так:
Код: Выделить всё
Sub Granichny_znachennya()
If Range("b4").Value = "" Then
Range("h16").Value = 0
Range("i16").Value = 0
Range("j16").Value = 0
ElseIf Range("b4").Value = "важка промисловість" Then
Range("h16").Value = Worksheets(1).Range("d8").Value
Range("i16").Value = Worksheets(1).Range("c8").Value
Range("j16").Value = Worksheets(1).Range("b8").Value
ElseIf Range("b4").Value = "легка промисловість" Then
Range("h16").Value = Worksheets(1).Range("d9").Value
Range("i16").Value = Worksheets(1).Range("c9").Value
Range("j16").Value = Worksheets(1).Range("b9").Value
ElseIf Range("b4").Value = "будівництво" Then
Range("h16").Value = Worksheets(1).Range("d10").Value
Range("i16").Value = Worksheets(1).Range("c10").Value
Range("j16").Value = Worksheets(1).Range("b10").Value
ElseIf Range("b4").Value = "транспорт" Then
Range("h16").Value = Worksheets(1).Range("d11").Value
Range("i16").Value = Worksheets(1).Range("c11").Value
Range("j16").Value = Worksheets(1).Range("b11").Value
ElseIf Range("b4").Value = "зв'язок" Then
Range("h16").Value = Worksheets(1).Range("d12").Value
Range("i16").Value = Worksheets(1).Range("c12").Value
Range("j16").Value = Worksheets(1).Range("b12").Value
ElseIf Range("b4").Value = "сільське господарство" Then
Range("h16").Value = Worksheets(1).Range("d13").Value
Range("i16").Value = Worksheets(1).Range("c13").Value
Range("j16").Value = Worksheets(1).Range("b13").Value
ElseIf Range("b4").Value = "інші галузі мат. виробництва" Then
Range("h16").Value = Worksheets(1).Range("d14").Value
Range("i16").Value = Worksheets(1).Range("c14").Value
Range("j16").Value = Worksheets(1).Range("b14").Value
ElseIf Range("b4").Value = "оптова торгівля" Then
Range("h16").Value = Worksheets(1).Range("d15").Value
Range("i16").Value = Worksheets(1).Range("c15").Value
Range("j16").Value = Worksheets(1).Range("b15").Value
ElseIf Range("b4").Value = "роздрібна торгівля" Then
Range("h16").Value = Worksheets(1).Range("d16").Value
Range("i16").Value = Worksheets(1).Range("c16").Value
Range("j16").Value = Worksheets(1).Range("b16").Value
ElseIf Range("b4").Value = "громадське харчування" Then
Range("h16").Value = Worksheets(1).Range("d17").Value
Range("i16").Value = Worksheets(1).Range("c17").Value
Range("j16").Value = Worksheets(1).Range("b17").Value
ElseIf Range("b4").Value = "освіта, охорона здоров'я" Then
Range("h16").Value = Worksheets(1).Range("d18").Value
Range("i16").Value = Worksheets(1).Range("c18").Value
Range("j16").Value = Worksheets(1).Range("b18").Value
ElseIf Range("b4").Value = "операції з нерухомістю" Then
Range("h16").Value = Worksheets(1).Range("d19").Value
Range("i16").Value = Worksheets(1).Range("c19").Value
Range("j16").Value = Worksheets(1).Range("b19").Value
ElseIf Range("b4").Value = "сфера послуг" Then
Range("h16").Value = Worksheets(1).Range("d20").Value
Range("i16").Value = Worksheets(1).Range("c20").Value
Range("j16").Value = Worksheets(1).Range("b20").Value
ElseIf Range("b4").Value = "інші галузі немат. виробництва" Then
Range("h16").Value = Worksheets(1).Range("d21").Value
Range("i16").Value = Worksheets(1).Range("c21").Value
Range("j16").Value = Worksheets(1).Range("b21").Value
End If
End Sub
Пробовал использовать метод работы с событиями:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Сall Granichny_znachennya
End Sub
после первого выбора значения из выпадающего списка значения в необходимых трех ячейках меняются, но потом видимо происходит какое-то зацикливание и все виснит, при этом ЦП забивается на 100%...