Другие языки программирования и технологии
помогите в Excel-e
как создать в EXCEL-е формулу 4 колонки с цифрами 1-2-3-4 и если сменить первую цифру 1 на 2 , то остальные так же сменятся в 2 раза то есть 2-6-8 ?
ваша задача НЕ решается ФОРМУЛАМИ, потому что вы хотите изменять любое из 4 чисел в колонках A-D
но она решается макросом)) )
Private Sub Worksheet_Change(ByVal Target As Range)
If semafor Then
nn = Target.Column
If Target.Row = 1 Then
If (Target.Column >= 2) And (Target.Column <= 5) Then
If IsEmpty(mass(nn)) Then
Cells(1, 2) = 45
Cells(1, 3) = 23
Cells(1, 4) = 36
Cells(1, 5) = 18
Exit Sub
End If
kk = Target.Value / mass(nn)
semafor = False
For ii = 2 To 5
If ii <> nn Then
Cells(1, ii) = Cells(1, ii) * kk
End If
Next ii
End If
End If
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
semafor = True
If Target.Row = 1 Then
If (Target.Column >= 2) And (Target.Column <= 5) Then
priz = True
For ii = 2 To 5
If IsEmpty(Cells(1, ii)) Then
Cells(1, 2) = 45
Cells(1, 3) = 23
Cells(1, 4) = 36
Cells(1, 5) = 18
priz = False
End If
Next ii
If priz Then
For ii = 2 To 5
mass(ii) = Cells(1, ii)
Next ii
End If
End If
End If
Target.Font.ColorIndex = 3
End Sub
вот начальная картинка
а вот после того как D1 удвоили
Идея в следующем:
в событии по перемещению мы в массиве mass() запоминаем текущие значения
а в событии по изменению высчитываем коэфициент изменения отредактированной ячейки и умножаем на него остальные))) )
обратите внимание на переменную semafor - она не дает зацикливаться проге при изменении соседних ячеек в цикле)))
но она решается макросом)) )
Private Sub Worksheet_Change(ByVal Target As Range)
If semafor Then
nn = Target.Column
If Target.Row = 1 Then
If (Target.Column >= 2) And (Target.Column <= 5) Then
If IsEmpty(mass(nn)) Then
Cells(1, 2) = 45
Cells(1, 3) = 23
Cells(1, 4) = 36
Cells(1, 5) = 18
Exit Sub
End If
kk = Target.Value / mass(nn)
semafor = False
For ii = 2 To 5
If ii <> nn Then
Cells(1, ii) = Cells(1, ii) * kk
End If
Next ii
End If
End If
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
semafor = True
If Target.Row = 1 Then
If (Target.Column >= 2) And (Target.Column <= 5) Then
priz = True
For ii = 2 To 5
If IsEmpty(Cells(1, ii)) Then
Cells(1, 2) = 45
Cells(1, 3) = 23
Cells(1, 4) = 36
Cells(1, 5) = 18
priz = False
End If
Next ii
If priz Then
For ii = 2 To 5
mass(ii) = Cells(1, ii)
Next ii
End If
End If
End If
Target.Font.ColorIndex = 3
End Sub
вот начальная картинка

а вот после того как D1 удвоили

Идея в следующем:
в событии по перемещению мы в массиве mass() запоминаем текущие значения
а в событии по изменению высчитываем коэфициент изменения отредактированной ячейки и умножаем на него остальные))) )
обратите внимание на переменную semafor - она не дает зацикливаться проге при изменении соседних ячеек в цикле)))
формула проста. =СТРОКА (А2)*А$1
1. выставить зависимость у каждой справа стоящей чтобы она умножала на сооотв. множитель левостоящую.
то есть:
в A1: 1
в B1: =A1*2
в C1: =A1*3
в D1: =A1*4
если в A1 значение меняется, то кратно меняются и остальные:
1-2-3-4
2-4-6-8
3-6-9-12
и т. д.
PS: а зачем это надо? О_О
если нужно получить что-то сложнее, чем представленный вариант, то либо в личку объясню либо читайте справку по функциям экселя. там много красивых вкусностей.
то есть:
в A1: 1
в B1: =A1*2
в C1: =A1*3
в D1: =A1*4
если в A1 значение меняется, то кратно меняются и остальные:
1-2-3-4
2-4-6-8
3-6-9-12
и т. д.
PS: а зачем это надо? О_О
если нужно получить что-то сложнее, чем представленный вариант, то либо в личку объясню либо читайте справку по функциям экселя. там много красивых вкусностей.
извини я достаточно хорошо знаю эксель но не слишком понятно задача
Что надо создать формулу или вычислить как изменится или еще что то не очень понятно
Что надо создать формулу или вычислить как изменится или еще что то не очень понятно
Похожие вопросы
- Формула в excel. Помогите сделать формулу.
- excel! Помогите!
- помогите с vba excel
- Вставка "вложенной" таблицы в Excel (или Access)
- Программирование в Excel - VBA
- Помогите с итогами в excel
- знатоки Excel, помогите!
- люди подскажите пожалуйста, как в двух файлах excel найти совпадения????помогите очень нужно!!!
- Excel ! Помогите! (см. пояснения)
- пишу макрос в Excel, есть вопрос, помогите(2)