Tạo tên mảng cho các textbox trên form.

  • Thread starter Thread starter sealand
  • Ngày gửi Ngày gửi
Liên hệ QC

sealand

Thành viên gạo cội
Tham gia
16/5/08
Bài viết
4,883
Được thích
7,688
Giới tính
Nam
Nghề nghiệp
Kế Toán
Trên VB khi ta tạo 1 số Textbox Ví dụ Txt_A, Txt_B Khi ta chọn và copy cả 2 đối tượng này thì VB có hỏi cho ta tạo tên mảng không.
Ví dụ:

Txt_A(1),Txt_B(1)
Txt_A(2),Txt_B(2)
Txt_A(3),Txt_B(3)

Trong VBA thì có cách nào tạo được không? Nhờ anh em chỉ giúp.
Cám ơn nhé.
 
Năm cùng tháng tận biết là rất bận rộn, nhưng cũng mong anh em lưu tâm giúp.
Mình khai báo để tạo Form nhập xuất:
-Chung nhau phần đầu phiếu.
-Phần chi tiết phiếu thì quá nhiều. Một phiếu có cả chục dòng chi tiết, nếu không tạo mảng thì quản lý và điều khiển quá rắc rối.
 
Upvote 0
Thực sự là em không hiểu câu hỏi nên "không dám" trả lời!
 
Upvote 0
Trên VB khi ta tạo 1 số Textbox Ví dụ Txt_A, Txt_B Khi ta chọn và copy cả 2 đối tượng này thì VB có hỏi cho ta tạo tên mảng không.
Ví dụ:

Txt_A(1),Txt_B(1)
Txt_A(2),Txt_B(2)
Txt_A(3),Txt_B(3)

Không may là trong VBA không có khái niệm Controls array. Chính vì vậy khi chúng ta copy và dán control thì VBA không hỏi giống VB.

Trong VBA thì có cách nào tạo được không? Nhờ anh em chỉ giúp.
Cám ơn nhé.

Tuy nhiên chúng ta có thể "play arround" như sau:

Đoạn mã sau thêm vào 2 mục vào trong ComboBox trên UserForm. Chúng ta cũng có thể làm tương tự với các control giúp nhập liệu khác:

Mã:
Dim ctrl As Control
For Each ctrl In UserForm1.Controls
    If TypeName(ctrl) = "ComboBox" Then
        With ctrl
            .Clear
            .AddItem "Oil"
            .AddItem "Gas"
        End With
    End If
Next ctrl
[/FONT][/COLOR]


Đoạn mã sau Disable và Khóa tất cả các TextBoxes trên UserForm.
Mã:
Dim ctrl As Control
For Each ctrl In UserForm1.Controls
    If TypeName(ctrl) = "TextBox" Then
        With ctrl
            .Enabled = False
            .Locked = True
        End With
    End If
Next ctrl
[/FONT][/COLOR]


Chúng ta cũng có thể dùng thuộc tính Tag của các controls.

Ví dụ sau sẽ EnableUnlock tất cả các TextBoxes trên UserForm có giá trị "tagged" là 2.
Mã:
Dim ctrl As Control
For Each ctrl In UserForm1.Controls
    If TypeName(ctrl) = "TextBox" And ctrl.Tag = "2" Then
        With ctrl
            .Enabled = False
            .Locked = True
        End With
    End If
Next ctrl
[/FONT][/COLOR]
Từ http://www.tek-tips.com/faqs.cfm?fid=4085
Hoặc
http://www.vbforums.com/showthread.php?t=275864

Vbavn
 
Upvote 0
Web KT

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

Back
Top Bottom