Tạo một thanh sổ xuống trong 1 ô excel

Liên hệ QC
anh cadifi ơi cho em hỏi chút ạ. em tạo nút combobox đó xong và hiển thị danh sách bình thường nhưng vì danh sách quá dài và tìm theo tên thì gõ chữ cái đầu ví dụ N001 N002 N003....N100,e muốn hỏi là có cách nào khi danh sách đó hiện ra từ combobox đó mà mình đặt chuột ở trong đó và lăn bi để cho nó cuộn danh sách xuống được không a,khi e lăn bi trong danh sách đó thì thanh cuộn của sheets excel lại cuộn ạ.mong a chỉ giúp
 
Bạn cần tạo 1 Name động để lấy danh sách [Mục-Khoản mục] từ sheet2, cách làm như sau:

1. Từ sheet2, bạn vào Insert/Name/Define:

Pic1-3.jpg


-----------------------------------------------------------------------------------------------------------------------

2
. Đặt 1 Name động (dùng Offset) như hình đính kèm:

Pic2-3.jpg


-----------------------------------------------------------------------------------------------------------------------

3.
Chọn sheet1, click chuột phải lên thanh Menu chọn Control Toolbox:

Pic3-3.jpg


-----------------------------------------------------------------------------------------------------------------------
4. Click chọn chế độ Design Mode trên thanh Control Toolbox, (xem hình)
Pic4-3.jpg


-----------------------------------------------------------------------------------------------------------------------

5. Tạo một combobox trên sheet hiện hành, như sau:

pic6-3.jpg
pic7-1.jpg


-----------------------------------------------------------------------------------------------------------------------

6
. Click chuột phải lên combobox và chọn Properties
Pic5-3.jpg


-----------------------------------------------------------------------------------------------------------------------
7. Tìm đến thuộc tính ListFillRange, gõ tên của Name động vừa đặt vào đây.

Pic6-2.jpg


-----------------------------------------------------------------------------------------------------------------------

8. Viết code điều khiển cho combobox hiện ra đúng vị trí ô mình cần chọn (cột E), bằng cách vào Tool/Macro/Visual basic Editor (hoặc ấn Atl+F11)

pic8-3.jpg


Click vào sheet1 trong cửa sổ VBAProject bên phải, xử lý sự kiện Worksheet SelectionChange bằng đoạn code sau:
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [E2:E65536]) Is Nothing Then
Me.cboMuc.Visible = True
Me.cboMuc.LinkedCell = ActiveCell.Address
Me.cboMuc.Height = ActiveCell.Height
Me.cboMuc.Left = ActiveCell.Left
Me.cboMuc.Width = ActiveCell.Width
Me.cboMuc.Top = ActiveCell.Top
Else
Me.cboMuc.Visible = False
Exit Sub
End If
End Sub

pic9.jpg


Đóng cửa sổ VBA lại, tắt chế độ design Mode đi và tự thưởng thức nha.

Chúc bạn thành công!

Chào Bác CADAFI, em đang cần làm đến List Box nên search được bài hướng dẫn này của bác. Em đã làm theo và thành công, cám ơn bác.

Tuy nhiên em cần làm được nhiều hơn 1 List Box trên cùng một sheet mà khi dùng code của bác nó báo lỗi (khai báo biến as Range). Bác có thể giúp em hoặc hướng dẫn hộ em được không ạ.
Bác vui lòng xem file đính kèm hộ em nhé.

Cám ơn bác nhiều!
 

File đính kèm

  • Test2.xls
    40.5 KB · Đọc: 25
Ôi. Các bác dùng Office 2003, em dùng 2007 chẳng biết cách tạo Combobox ở đâu nữa. Em gửi file, bác nào làm hộ em với ah.
Em cần chọn số phiếu trên 2 sheet phiếu xuất và Phiếu nhập.
File này em download trên mạng về chỉnh sửa mà chưa hoàn chỉnh. Bác nào biết giúp em nốt cái phần sổ kho với ah, làm thế nào để khi chọn mã hàng nó sẽ tự động nhảy hết tất cả các số phiếu xuất nhập phát sinh của mã hàng đó ah
 

File đính kèm

  • NXT kho.xlsx
    104.4 KB · Đọc: 5
Hi các Bác,

Các bóc cho em hỏi làm kiểu xổ xuống như trong file đính kèm thì làm như thế nào?
 

File đính kèm

  • 2_Tinh-toan-chieu-sang-trong-nha.xls
    173.5 KB · Đọc: 4
Web KT
Back
Top Bottom