- Tham gia
- 5/6/08
- Bài viết
- 30,703
- Được thích
- 53,964
Thử sửa lại thế này xem:Quả thật mình mới tành về VBA nên cũng không rõ ý nghĩa của các câu lệnh.
Nếu bây giờ mình muốn ở C1 không phải là =A1+B1 mà là =round((A1+B1)/3,1)
thì ở dòng trong file ca_dafi.xlx:
Cells(Target.Row, 3).Value = "=" & Target.Address & "+" & _
Target.Offset(, myRef).Address
phải viết lại như thế nào?
Cảm ơn các bạn trước.
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MyRef As Long
If Not Intersect(Target, [A1:B24]) Is Nothing Then
MyRef = Sgn(1.5 - Target.Column)
If Target.Value = "" Or Target.Offset(, MyRef).Value = "" Then Exit Sub
If IsNumeric(Target) And IsNumeric(Target.Offset(, MyRef)) Then
With Target.Offset(, (MyRef - 1) / 2 + 2)
.Validation.Delete
.Value = "=ROUND((" & .Offset(, -2).Address & "+" & .Offset(, -1).Address & ")/3,1)"
End With
Else
With Target.Offset(, (MyRef - 1) / 2 + 2)
.ClearContents
.Validation.Delete
.Validation.Add Type:=xlValidateList, Formula1:="=Data"
End With
End If
End If
End Sub
File đính kèm
Lần chỉnh sửa cuối: