Có lỗi xảy ra là khi em dùng copy 120> vào tất cả các dòng còn lại thì các dòng đó tự động ẩn đi? Thêm nữa là các dòng không tự động thay đổi chiều cao khi có giá trị mới. mà bắt buộc phải nhấn enter vào ô đó mới thay đổi.Không biết cái này có đúng ý bạn chưa ?
Khi bạn nhập dữ liệu, thủ tục Workbook_SheetChange sẽ kiểm tra ô mới vừa nhập ký tự cuối cùng có phải là ">" không. Nếu đúng thì định dạng lại chiều cao theo các số phía trước dấu ">"
Ví dụ chiều cao hiện tại là 12, bạn muốn chiều cao mới là 24 thì nhập 200>; chiều cao mới là 6 thì nhập 50>
Lý do thay dấu % bằng > là vì khi nhập % thì ô đó tự động định dạng %, rất bất tiện cho bạn khi nhập số khác.
Mã:Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) On Error Resume Next Dim OldHeigh, NewHeigh If Right(Target.Value, 1) = ">" Then OldHeigh = Target.RowHeight NewHeigh = Val(Left(Target.Value, Len(Target.Value) - 1)) Target.RowHeight = OldHeigh * NewHeigh / 100 End If End Sub
Em gà về VBA nhờ các bác chỉ bảo ạ.