Здравствуйте знатоки EXCEL. В наличии есть макрос. При выборе из выпадающего списка в ячейке С3 в ячейки С4 и С5 вставляются соответствующие данные. То есть, сначала вводим данные в С1 и С2, а затем выбираем из выпадающего списка в С3 и только потом вставляются соответствующие значения. А как сделать, чтобы код срабатывал при изменении любой ячейки: С1, С2, С3?
Здравствуйте знатоки EXCEL. В наличии есть макрос. При выборе из выпадающего списка в ячейке С3 в ячейки С4 и С5 вставляются соответствующие данные. То есть, сначала вводим данные в С1 и С2, а затем выбираем из выпадающего списка в С3 и только потом вставляются соответствующие значения. А как сделать, чтобы код срабатывал при изменении любой ячейки: С1, С2, С3?ivanov1974
Я вообще далекий от написания макросов, перепробовал все варианты и ничего не работает. Может я непонятно изложил, что должно получиться? Например скачал файл, который скорректировал SLAVICK. Меняю данные в ячейке С1 или С2 и данные макросом не вставляются.
Я вообще далекий от написания макросов, перепробовал все варианты и ничего не работает. Может я непонятно изложил, что должно получиться? Например скачал файл, который скорректировал SLAVICK. Меняю данные в ячейке С1 или С2 и данные макросом не вставляются.ivanov1974
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Range("C1:C3"), Target) Is Nothing Then Exit Sub Select Case Range("C3") Case "Ивановский" Range("C4") = "1200" Range("C5") = WorksheetFunction.Round(1200 / Range("C2").Value * Range("C1").Value, 0) '"1200"
End Select Application.EnableEvents = True End Sub
[/vba]
или [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim n1 If Intersect(Range("C1:C3"), Target) Is Nothing Then Exit Sub Select Case Range("C3") Case "Ивановский" n1 = "1200" Case "Петровский" n1 = "1000" End Select Application.EnableEvents = False Range("C4") = n1 Range("C5") = WorksheetFunction.Round(n1 / Range("C2").Value * Range("C1").Value, 0) Application.EnableEvents = True End Sub
[/vba]
Тьфу, конечно. Вот так [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Range("C1:C3"), Target) Is Nothing Then Exit Sub Select Case Range("C3") Case "Ивановский" Range("C4") = "1200" Range("C5") = WorksheetFunction.Round(1200 / Range("C2").Value * Range("C1").Value, 0) '"1200"
End Select Application.EnableEvents = True End Sub
[/vba]
или [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim n1 If Intersect(Range("C1:C3"), Target) Is Nothing Then Exit Sub Select Case Range("C3") Case "Ивановский" n1 = "1200" Case "Петровский" n1 = "1000" End Select Application.EnableEvents = False Range("C4") = n1 Range("C5") = WorksheetFunction.Round(n1 / Range("C2").Value * Range("C1").Value, 0) Application.EnableEvents = True End Sub