Nhờ hướng dẫn viết code VBA cho vấn đề chiều cao dòng với điều kiện chiều dài kí tự. (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

banhchuoichien

Thành viên mới
Tham gia
27/4/09
Bài viết
31
Được thích
13
Chào cả nhà GPE
Hôm nay tôi có 1 vấn đề mong các anh chị giải quyết nhằm khắc phục các sai sót khi soạn văn bản trên excel.

Đặt vấn đề: Tôi muốn khi chiều dài kí tự của 1 ô len() được chọn <50 thì cao dòng đó bằng 17, nếu len()>50 và <100 thì cao dòng bằng 34, lớn hơn 100 thì bằng 51.

Code tôi thử viết thế này nhưng không chạy được
Sub cd()
Dim i as interger
Selection.select
Set i = selection.Length hoặc i = len(selection)
If i<50 then
Selection.Rowheight = 17
If i >50 and i <100
Selection.Rowheight = 34
Else
Selection.Rowheight = 51
End if
End if
End sub
 
Thử xem !
Mã:
Sub GPE()
    Dim i As Long
    With Selection
        i = Len(.Text)
        If i < 50 Then
            i = 17
        ElseIf i < 100 Then
            i = 34
        Else
            i = 51
        End If
        .RowHeight = i
    End With
End Sub
 
Upvote 0
Chào cả nhà GPE
Hôm nay tôi có 1 vấn đề mong các anh chị giải quyết nhằm khắc phục các sai sót khi soạn văn bản trên excel.

Đặt vấn đề: Tôi muốn khi chiều dài kí tự của 1 ô len() được chọn <50 thì cao dòng đó bằng 17, nếu len()>50 và <100 thì cao dòng bằng 34, lớn hơn 100 thì bằng 51.

Code tôi thử viết thế này nhưng không chạy được
Sub cd()
Dim i as interger
Selection.select
Set i = selection.Length hoặc i = len(selection)
If i<50 then
Selection.Rowheight = 17
If i >50 and i <100
Selection.Rowheight = 34
Else
Selection.Rowheight = 51
End if
End if
End sub
Bạn sử dụng thử code này để áp dụng cho nhiều ô chọn cùng lúc.
Mã:
Sub GPE()
    Dim i As Long, MyRang As Range
    For Each MyRang In Selection
        i = Len(MyRang.Text)
        i = WorksheetFunction.Min(((i + 49) \ 50) * 17, 51)
         If i<>0 Then MyRang.RowHeight = i
    Next
End Sub
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom