Cần hướng dẫn xuất giá trị cho ComboBox (1 người xem)

Liên hệ QC

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

skullrock

Thành viên chính thức
Tham gia
5/12/08
Bài viết
70
Được thích
1
Do file gốc có nhiều cột, mỗi lần chèn 1 cột là phải sửa hết code trong ComboBox_Change dời tất cả các Column thêm 1, nên em nghĩ gán luôn cho cột một số đại diện để code không quan tâm đến thứ tự Column.
Mục đích giờ là khi thay đổi ComboBox, các giá trị xuất ra có textbox sẽ phụ thuộc số đc gán cho cột.
Ví dụ: Textbox4 sẽ có giá trị ở cột đc gán số 4 phía trên.
Em trình bày hơi lủng củng, có gì chưa rõ mọi người comment lại dùm.
 

File đính kèm

Lần chỉnh sửa cuối:
Do file gốc có nhiều cột, mỗi lần chèn 1 cột là phải sửa hết code trong ComboBox_Change dời tất cả các Column thêm 1, nên em nghĩ gán luôn cho cột một số đại diện để code không quan tâm đến thứ tự Column.
Mục đích giờ là khi thay đổi ComboBox, các giá trị xuất ra có textbox sẽ phụ thuộc số đc gán cho cột.
Ví dụ: Textbox4 sẽ có giá trị ở cột đc gán số 4 phía trên.
Em trình bày hơi lủng củng, có gì chưa rõ mọi người comment lại dùm.
Code của bạn đây
PHP:
Private Sub ComboBox1_Change()
Dim cot()
cot = [C3:H3].Value
With Me
   If .ComboBox1.Value = "" Then
       For i = 1 To 6
           .Controls("TextBox" & i).Value = ""
       Next i
   Else
       For i = 1 To 6
           .Controls("TextBox" & i).Value = .ComboBox1.Column(cot(1, i))
       Next i
   End If
End With
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Thêm cái If để phòng khi dòng 3 bi bỏ trống
PHP:
Private Sub ComboBox1_Change()
Dim cot()
cot = [C3:H3].Value
With Me
   If .ComboBox1.Value = "" Then
       For i = 1 To 6
           .Controls("TextBox" & i).Value = ""
       Next i
   Else
       For i = 1 To 6
         If cot(1, i) <> "" Then
           .Controls("TextBox" & i).Value = .ComboBox1.Column(cot(1, i))
         End If
       Next i
   End If
End With
End Sub
 
Upvote 0
Nhưng tôi nghĩ nên viết thế này nhìn có vẽ hay hơn chút xíu
PHP:
Private Sub ComboBox1_Change()
Dim cot()
cot = [C3:H3].Value
With Me
   For i = 1 To 6
     If cot(1, i) <> "" Then
       .Controls("TextBox" & i).Value = .ComboBox1.Column(cot(1, i))
     End If
   Next i
End With
End Sub
PHP:
Private Sub UserForm_Initialize()
   Me.ComboBox1.Value = ""
End Sub
 
Upvote 0

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

Back
Top Bottom