son0611excel
Thành viên chính thức
- Tham gia
- 3/1/20
- Bài viết
- 69
- Được thích
- 11
- Giới tính
- Nam
- Nghề nghiệp
- Kỹ Thuật
Cho code này vào UserForm.Em chào mọi người ạ, Em có 1 sheet chứa dữ liệu như hình dưới, 1 userform gồm combobox và textbox. Nhờ mọi người dưỡng dẫn em nhập các hộ gia đình vào combobox, khi chọn hộ thì tiền điện của họ cũng hiện xuống ô textbox bên dưới luôn ạ!
View attachment 259176View attachment 259177
Private Sub ComboBox1_Change()
Me.TextBox1.Text = Me.ComboBox1.Column(1)
End Sub
Private Sub UserForm_Initialize()
Me.ComboBox1.ColumnCount = 2
Me.ComboBox1.ColumnWidths = "120pt; 50pt"
Me.ComboBox1.RowSource = Sheet1.Range("C4:D" & Sheet1.Range("D1000000").End(xlUp).Row).Address
End Sub
Dạ anh ơi, em chỉ muốn cho nó hiện combobox 1 chỉ hiện chủ hộ thôi, không cần colum ạ, khi nhấp vào chủ hộ thì phần tiền điện ở bên dưới cũng hiện theoCho code này vào UserForm.
Mã:Private Sub ComboBox1_Change() Me.TextBox1.Text = Me.ComboBox1.Column(1) End Sub Private Sub UserForm_Initialize() Me.ComboBox1.ColumnCount = 2 Me.ComboBox1.ColumnWidths = "120pt; 50pt" Me.ComboBox1.RowSource = Sheet1.Range("C4:D" & Sheet1.Range("D1000000").End(xlUp).Row).Address End Sub
Nếu em muốn có 2 sheet, 1 sheet chứa hóa đơn, 1 sheet để xem thì sao ạ, như file bên dưới ạ!Chổ 50pt sửa là 0pt
còn chổ nào hỏi tiếp luôn bạn ơi, lường trước các tình huống luôn để bạn Giaiphap làm lần luôn. chứ không lắc nhắc đấyNếu em muốn có 2 sheet, 1 sheet chứa hóa đơn, 1 sheet để xem thì sao ạ, như file bên dưới ạ!
Dạ vậy thui ạ!, em xin lỗi vì hỏi nhiều kkkkk!còn chổ nào hỏi tiếp luôn bạn ơi, lường trước các tình huống luôn để bạn Giaiphap làm lần luôn. chứ không lắc nhắc đấy
anh có thể giải thích tại sao nó không load khi khi form nó nằm ở sheet2 vậyChơi vầy.
Mã:Me.ComboBox1.RowSource = "abc!C4:D" & Sheet1.Range("D1000000").End(xlUp).Row
Theo như mình hiểu thì code này nằm trong Private sub, nếu muốn tại một sheet mà form vẫn hiện list tại sheet khác thì bạn làm thêm 1 bước tạo 1 module nạp mảng cho list và khai báo public để khi dùng ở đâu list cũng hiện ra.anh có thể giải thích tại sao nó không load khi khi form nó nằm ở sheet2 vậy
Option Explicit
Public priArray
Sub OriginPriArray()
priArray = Sheets("DMVT").Range("E8:H" & Sheets("DMVT").Range("E" & Rows.Count).End(xlUp).Row).Value2
End Sub
Vì thuộc tính Address trong code chỉ trả lại địa chỉ dạng "$C$4:$D$100", khi đang đứng ở sheet 2 thì combobox ngỡ đó là vùng "$C$4:$D$100" của sheet2, nó đã nằm mơ không đúng chỗ ( vì trong chuỗi địa chỉ không hề có thành phần tên sheet, nên nó cứ đè thằng sheet hiện hành mà lấy dữ liệu). thành ra nó đã lấy data từ sheet2 thay vì sheet1, dùng code dưới để lấy chính xác định chỉ, chắc sẽ ngọt ngào hơn.anh có thể giải thích tại sao nó không load khi khi form nó nằm ở sheet2 vậy
Để chiều về em thử ạ, tại file em để máy laptop nhà !Vì thuộc tính Address trong code chỉ trả lại địa chỉ dạng "$C$4:$D$100", khi đang đứng ở sheet 2 thì combobox ngỡ đó là vùng "$C$4:$D$100" của sheet2, nó đã nằm mơ không đúng chỗ ( vì trong chuỗi địa chỉ không hề có thành phần tên sheet, nên nó cứ đè thằng sheet hiện hành mà lấy dữ liệu). thành ra nó đã lấy data từ sheet2 thay vì sheet1, dùng code dưới để lấy chính xác định chỉ, chắc sẽ ngọt ngào hơn.
Me.ComboBox1.RowSource = Sheet1.Range("C4" & Sheet1.Range("D1000000").End(xlUp).Row).Address(True, True, xlA1, True)
Cảm ơn anh nhiều!Chơi vầy.
Mã:Me.ComboBox1.RowSource = "abc!C4:D" & Sheet1.Range("D1000000").End(xlUp).Row
Private Sub ComboBox1_Change()
Me.TextBox1 = Sheet1.Cells(Me.ComboBox1.ListIndex + 4, 4)
End Sub
'----------------------
Private Sub TextBox1_Change()
NhapDL
End Sub
'-----------------------
Private Sub UserForm_Initialize()
Dim Tm
Tm = Sheet1.[C4:C8]
Me.ComboBox1.List = Tm
End Sub
'------------------------
Sub NhapDL()
Sheet1.Cells(Me.ComboBox1.ListIndex + 4, 4) = Me.TextBox1
End Sub