Giúp rút gọn code VBA trên form có nhiều texbox hoặc Label

Liên hệ QC

hondacrv2019

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
19/5/19
Bài viết
116
Được thích
9
Chào cả nhà GPE
Em có 1 form gồm 30 textbox hiện em đang dùng code này thấy khá là dài

Mã:
Sub hienform()
UserForm1.TextBox1.Value = Range("a1").Value
UserForm1.TextBox2.Value = Range("a2").Value
UserForm1.TextBox3.Value = Range("a3").Value
'---
'---
UserForm1.TextBox30.Value = Range("a30").Value
End Sub

Có cách nào rút gọn ngắn ngắn dòng FOr next hay gì gì đó cho ngắn lại giúp em. em xin chân thành cảm ơn!
 
Chào cả nhà GPE
Em có 1 form gồm 30 textbox hiện em đang dùng code này thấy khá là dài

Có cách nào rút gọn ngắn ngắn dòng FOr next hay gì gì đó cho ngắn lại giúp em. em xin chân thành cảm ơn!
Ban nên chỉ định rõ nó vào sheet nào nhé


Mã:
Sub hienform()
Dim i As Long
For i = 1 To 30
UserForm1.TextBox(i).Value = Range("A" & i).Value
Next i
End Sub
 
Upvote 0
Chào cả nhà GPE
Em có 1 form gồm 30 textbox hiện em đang dùng code này thấy khá là dài

Mã:
Sub hienform()
UserForm1.TextBox1.Value = Range("a1").Value
UserForm1.TextBox2.Value = Range("a2").Value
UserForm1.TextBox3.Value = Range("a3").Value
'---
'---
UserForm1.TextBox30.Value = Range("a30").Value
End Sub

Có cách nào rút gọn ngắn ngắn dòng FOr next hay gì gì đó cho ngắn lại giúp em. em xin chân thành cảm ơn!

Bác thử code này xem sao:
Mã:
For i = 1 To 30
      UserForm1.Controls("TextBox" & i).Value = Range("A" & i).Value
Next
 
Upvote 0
Chào cả nhà GPE
Em có 1 form gồm 30 textbox hiện em đang dùng code này thấy khá là dài

Mã:
Sub hienform()
UserForm1.TextBox1.Value = Range("a1").Value
UserForm1.TextBox2.Value = Range("a2").Value
UserForm1.TextBox3.Value = Range("a3").Value
'---
'---
UserForm1.TextBox30.Value = Range("a30").Value
End Sub

Có cách nào rút gọn ngắn ngắn dòng FOr next hay gì gì đó cho ngắn lại giúp em. em xin chân thành cảm ơn!
Bạn thử lâu mình không dùng không biết đúng không.
Mã:
   For i = 1 To 30
      UserForm1.Controls("textbox" & i).Value = Range("A" & i).Value
   Next i
 
Upvote 0
Làm kiểu chảnh:
For Each ctrl In UserForm1.Controls
If ctrl.Name Like "TextBox*" Then _
ctrl.Value = Range(Replace("TextBox", "A")).Value
Next ctrl
 
Upvote 0
1 cái form 30 textbox. Nhìn như bảng yết thị trước cổng cơ quan ngày xưa.

Thiết kế kiểu này quả là hiếm có hơn người.
 
Upvote 0
1 cái form 30 textbox. Nhìn như bảng yết thị trước cổng cơ quan ngày xưa.

Thiết kế kiểu này quả là hiếm có hơn người.
cam ơn bác nhiều
Bài đã được tự động gộp:

Bạn thử lâu mình không dùng không biết đúng không.
Mã:
   For i = 1 To 30
      UserForm1.Controls("textbox" & i).Value = Range("A" & i).Value
   Next i
cam ơn bác nhiều
 
Upvote 0
Sao form lại tới 30 text box vậy, chủ khổ?
Sao không hiện ở dạng listbox?
 
Upvote 0
Web KT

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

Back
Top Bottom