Thay đổi giá trị khi COMBOBOX thay đổi (1 người xem)

Liên hệ QC

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

Se7enKhoe

Thành viên mới
Tham gia
3/1/14
Bài viết
5
Được thích
0
Chào các bác,

Như chủ đề, nếu muốn thay đổi giá trị 1 ô nào đó khi giá trị trong Combobox dạng FORM thay đổi thì phải code như thế nào. Ví dụ:

Combobox chọn "1" => ô A1 sẽ có giá trị là "A"
Combobox chọn "2" => ô A1 sẽ có giá trị là "B"
....

Cám ơn mọi người đã quan tâm.
 
vui lòng xem file đính kèm.
mấu chốt ở chỗ bạn phải khai báo combobox có ColumnWidths = 2
 

File đính kèm

Upvote 0
Cám ơn Jack nt đã quan tâm ... bài của bạn rất đúng ý mình. Nhưng cái Combobox của mình là dạng FORM. còn bạn làm là dạng ACTIVEX. Vậy nếu dạng FORM thì viết như thế nào bạn ?
 
Upvote 0
Lần chỉnh sửa cuối:
Upvote 0
mình thấy code của Jack nt trên activeX và trên UserForm cho ra kết quả y nhau. +-+-+-+
Bạn đang nhầm giữa combobox của form và combobox vẽ trên form.
Combobox vẽ trên sheet có 2 loại: loại ActiveX control và Form control.

Ngoài ra, vẽ 2 loại combobox này trên sheet chỉ với yêu cầu lấy giá trị tương ứng, thì không cần code kiết gì cả, chỉ cần set linked cells.

Sự khác biệt là cái của ActiveX sẽ gán trực tiếp giá trị của mình vào linkedcell, còn cái của form thì chỉ gán giá trị số (số thứ tự), sau đó dùng hàm dò tìm để lấy.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Cám ơn Jack nt đã quan tâm ... bài của bạn rất đúng ý mình. Nhưng cái Combobox của mình là dạng FORM. còn bạn làm là dạng ACTIVEX. Vậy nếu dạng FORM thì viết như thế nào bạn ?

có hơi khác chút:

1/ load combobox:
đặt thủ tục load combox vào một sự kiện nào đó như: Workbook_Open, WordSheet_Activate,...
tui chọn WorkSheet_SelectionChange (hay đụng nhất)

Sub LoadMyComboBox()
Dim i As Integer
With ActiveSheet.Shapes("MyDropDown").OLEFormat.Object
If .ListCount = 0 Then
For i = 1 To 26
.AddItem i
Next
End If
End With
End Sub

2/xuất giá trị khi combobox change:
khai báo trong "Assign Macro" tên thủ tục "MyDropDownChange"
tạo một modul để chứa thủ tục này:

Sub MyDropDownChange()
Dim i&
With ActiveSheet.Shapes("MyDropDown").ControlFormat
i = Val(.List(.ListIndex))
End With
ActiveSheet.Range("A1") = Chr(i + 65 - 1)
End Sub

tui cũng hay làm trò này vì thường viết addin, không muốn tạo sự kiện trong các sheets.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Cám ơn mọi người đã đóng góp!

Chính xác là em cần dùng phần Combobox này cho file Excel bên dưới. Chương trình sẽ chạy như sau. Cho người dùng nhập tên 1 Concept (bên sheet Search) từ đó search ra được các Location và Model thích hợp. Sau đó, người dùng được lựa chọn để in ra một danh sách bên sheet RESULT.

Với mỗi 1 Concept cùng các Location và Model được in ra. Sẽ có 1 COMBOBOX được tạo ra dành cho Stylist/Makeup. Khi nhấp chọn tên Stylist trong Combobox, các thông tin tương ứng của người này sẽ được in ra các ô cạnh bên. Ví dụ ở đây là "Vinh Khoe" thì Tel.phone sẽ là 09xxxxxxxx.

Em vẫn chưa thể áp dụng các hướng dẫn của mọi người vào được, mong mọi người có thể giúp em :(
Mọi người vào link này download về giúp em nhé.

http://wikisend.com/download/439658/Location and Model Database.xlsm
 
Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom