Доброго всем времени суток. Вот начал осваивать написание макросов ну что-то не получается. Вот код, не могу понять что в нем не правильно:
Private Sub Worksheet_Change(ByVal Target As Range) Dim x, y, z, h, n, l, m x = Sheets(1).Range("H3:H200") y = Sheets(1).Range("I3:I200") z = Sheets(1).Range("J3:J200") h = Sheets(1).Range("K3:K200") n = Sheets(1).Range("L3:L200") l = Sheets(1).Range("M3:M200") m = Sheets(1).Range("U3:U200") If (x > 0) Is Nothing Then If (x = y + z + h + n + l) Is Nothing Then Range("U3:U200").Formula = 1 If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("V3:V200")) Is Nothing Then With Target(21, 22) .Value = Now .EntireColumn.AutoFit End With End If If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("B3:B200")) Is Nothing Then With Target(1, 2) .Value = Now .EntireColumn.AutoFit End With End If End Sub
Доброго всем времени суток. Вот начал осваивать написание макросов ну что-то не получается. Вот код, не могу понять что в нем не правильно:
Private Sub Worksheet_Change(ByVal Target As Range) Dim x, y, z, h, n, l, m x = Sheets(1).Range("H3:H200") y = Sheets(1).Range("I3:I200") z = Sheets(1).Range("J3:J200") h = Sheets(1).Range("K3:K200") n = Sheets(1).Range("L3:L200") l = Sheets(1).Range("M3:M200") m = Sheets(1).Range("U3:U200") If (x > 0) Is Nothing Then If (x = y + z + h + n + l) Is Nothing Then Range("U3:U200").Formula = 1 If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("V3:V200")) Is Nothing Then With Target(21, 22) .Value = Now .EntireColumn.AutoFit End With End If If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("B3:B200")) Is Nothing Then With Target(1, 2) .Value = Now .EntireColumn.AutoFit End With End If End Subwindy_man
Dim x, y, z, h, n, l, m x = Sheets(1).Range("H3:H200") y = Sheets(1).Range("I3:I200") z = Sheets(1).Range("J3:J200") h = Sheets(1).Range("K3:K200") n = Sheets(1).Range("L3:L200") l = Sheets(1).Range("M3:M200") m = Sheets(1).Range("U3:U200") If (x > 0) Is Nothing Then If (x = y + z + h + n + l) Is Nothing Then Range("U3:U200").Formula = 1
[/vba] Это сперва из кода выкинуть, потом объясните, что это было? [vba]
Code
If Target.Cells.Count > 1 Then Exit Sub
[/vba] Достаточно прописать один раз, и первой строкой.
Выполнив [vba]
Code
x = Sheets(1).Range("H3:H200")
[/vba] Вы получите массив, а не одно значение.
[vba]
Code
Dim x, y, z, h, n, l, m x = Sheets(1).Range("H3:H200") y = Sheets(1).Range("I3:I200") z = Sheets(1).Range("J3:J200") h = Sheets(1).Range("K3:K200") n = Sheets(1).Range("L3:L200") l = Sheets(1).Range("M3:M200") m = Sheets(1).Range("U3:U200") If (x > 0) Is Nothing Then If (x = y + z + h + n + l) Is Nothing Then Range("U3:U200").Formula = 1
[/vba] Это сперва из кода выкинуть, потом объясните, что это было? [vba]
Code
If Target.Cells.Count > 1 Then Exit Sub
[/vba] Достаточно прописать один раз, и первой строкой.
Выполнив [vba]
Code
x = Sheets(1).Range("H3:H200")
[/vba] Вы получите массив, а не одно значение.Hugo
Dim x, y, z, h, n, l, m x = Sheets(1).Range("H3:H200") y = Sheets(1).Range("I3:I200") z = Sheets(1).Range("J3:J200") h = Sheets(1).Range("K3:K200") n = Sheets(1).Range("L3:L200") l = Sheets(1).Range("M3:M200") m = Sheets(1).Range("U3:U200") If (x > 0) Is Nothing Then If (x = y + z + h + n + l) Is Nothing Then Range("U3:U200").Formula = 1
\\Здесь с начало я присваиваю каждому диапазону букву, потом я задаю условие если в первом диапазоне появилось значение >0 то начинается другое условие в котором сравнивается диапазон х с суммой других диапазонов и если значения равны то присваиваем значение 1 ячейки находящейся в диапазоне m что бы в рядом стоящей ячейке появилась текущая дата.
Ну это я так думаю а как на само деле не знаю
Dim x, y, z, h, n, l, m x = Sheets(1).Range("H3:H200") y = Sheets(1).Range("I3:I200") z = Sheets(1).Range("J3:J200") h = Sheets(1).Range("K3:K200") n = Sheets(1).Range("L3:L200") l = Sheets(1).Range("M3:M200") m = Sheets(1).Range("U3:U200") If (x > 0) Is Nothing Then If (x = y + z + h + n + l) Is Nothing Then Range("U3:U200").Formula = 1
\\Здесь с начало я присваиваю каждому диапазону букву, потом я задаю условие если в первом диапазоне появилось значение >0 то начинается другое условие в котором сравнивается диапазон х с суммой других диапазонов и если значения равны то присваиваем значение 1 ячейки находящейся в диапазоне m что бы в рядом стоящей ячейке появилась текущая дата.
Ну это я так думаю а как на само деле не знаю windy_man