Viết code tự động fix thông số cho Userform

tuhocvba

Administrator
Thành viên BQT
Khi xử lý dữ liệu rất lớn, các đối tượng trên UserForm bị văng tứ tung, xê dịch vị trí.
Hoặc đôi khi di chuyển cửa sổ (trường hợp sử dụng hai màn hình máy tính), kích thước của UserForm cũng có thể bị thay đổi, các đối tượng bị xê dịch.
Giải pháp là các thông số của các đối tượng này nên được fix trong sự kiện :
Mã:
Private Sub UserForm_Initialize()

End Sub
Tuy nhiên nếu UserForm mà có nhiều đối tượng, việc sao chép thông tin các đối tượng này cho vào trong code rất mất thời gian.
Sau khi đã tạo bằng tay một UserForm hoàn chỉnh, tôi sẽ xuất thông số này ra. Sau đó copy thông tin này cho vào trong code là OK.
Ý tưởng là vậy, sau đây bắt tay vào thực thi nhé.
demo:
Mã:
Private Sub CommandButton1_Click()
    Dim i       As Integer
    Dim obj  As Control
    i = 0
    For Each obj In Me.Controls
        i = i + 1
        Cells(i, 1) = "With " & obj.Name
            i = i + 1
            Cells(i, 2) = "'.Top =" & obj.Top & "'.Top"
            i = i + 1
            Cells(i, 2) = "'.Left =" & obj.Left & "'.Left"
            i = i + 1
            Cells(i, 2) = "'.Height =" & obj.Height & "'.Height"
            i = i + 1
            Cells(i, 2) = "'.Width =" & obj.Width & "'.Width"
            i = i + 1
        Cells(i, 1) = "End With "
    Next
End Sub
Bạn cần đăng nhập để thấy hình ảnh
 
Top