Bài viết: Chiêu 43: Thêm các danh sách có sẵn và cả danh sách tự tạo vào menu chuột p

Liên hệ QC

TranThanhPhong

Ngày mai trời lại sáng!
Thành viên danh dự
Tham gia
16/3/07
Bài viết
2,104
Được thích
19,156
Giới tính
Nam
Chiêu 43: Thêm các danh sách có sẵn và cả danh sách tự tạo vào menu chuột phải

Tạo một danh sách để fill trong Excel thông qua Fill handle là việc làm rất hay để nhanh chóng nhập danh sách các chuỗi số hoặc chuỗi văn bản vào bảng tính. Excel đã xây dựng sẵn một số Custom List về các ngày trong tuần (Sun - Sat), danh sách các tháng (Jan - Dec) và các chuỗi số nhưng bạn cũng có thể tự tạo thêm các danh sách mới cho mình. Phần này sẽ hướng dẫn bạn các tạo thêm Custom List cho Fill Handle.

Trước tiên, bạn cần nhập vào danh sách các phần tử cần đưa vào Custom List trên bảng tính. Ví dụ như bạn nhập và 26 chữ cái trong các ô A1:A26 trên Sheet1. Sau đó nhấn vào nút Office ➝ Excel Options ➝ Popular ➝ Edit Custom Lists (E2003: Tools ➝ Options ➝ Custom Lists). Nhấp chọn nút nằm bên trái nút Import và dùng chuột quét chọn vùng dữ liệu A1:A26. Sau đó nhấn nút Import và OK. Kể từ lúc này danh sách các chữ cái sẽ có thể sử dụng để fill trong tất cả bảng tính trên máy tính này.

h43_01.jpg


Tiếp theo, để đưa các Custom List vào trong thực đơn ngữ cảnh thì bạn nhấn tổ hợp ALT+F11 rồi vào Insert ➝ Module. Sau đó, bạn nhập vào đoạn mã như sau:


Mã:
Sub AddFirstList()
    Dim strList As String
    strList = Application.CommandBars.ActionControl.Caption
    If Not strList Like "*...*" Then Exit Sub
    ActiveCell = Left(strList, InStr(1, strList, ".", vbTextCompare) - 1)
End Sub[/highlight]

[SIZE=3]Bạn kích chuột hai lần lên ThisWorkbook trong cửa sổ VBAProject và nhập vào đoạn mã sau:[/SIZE]

[highlight=VB]
Private Sub Workbook_SheetBeforeRightClick _
        (ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    Dim cBut As CommandBarButton
    Dim lListCount As Long
    Dim lCount As Long
    Dim strList As String
    Dim MyList
    On Error Resume Next
    With Application
        lListCount = .CustomListCount
        For lCount = 1 To lListCount
            MyList = .GetCustomListContents(lCount)
            strList = .CommandBars("Cell").Controls(MyList(1) & "..." & _
             MyList(UBound(MyList))).Caption
            .CommandBars("Cell").Controls(strList).Delete
            Set cBut = .CommandBars("Cell").Controls.Add(Temporary:=True)
            With cBut
                .Caption = MyList(1) & "..." & MyList(UBound(MyList))
                .Style = msoButtonCaption
                .OnAction = "AddFirstList"
            End With
        Next lCount
    End With
    On Error GoTo 0
End Sub

Đóng cửa sổ VBE và lưu bảng tính lại. Sau đó nhấp phải chuột vào một ô nào đó trên bảng tính, bạn sẽ thấy các Custom List dựng sẵn và do bạn tạo xuất hiện trong trình đơn ngữ cảnh.


h43_02.jpg


Muốn sử dụng, bạn chỉ cần nhấn chuột phải vào ô chọn, rồi chọn 1 trong các list hiện ra trong menu ngữ cảnh, bạn sẽ có giá trị thứ nhất của list. Sau đó kéo cái Fill handle để fill list như mọi khi

Mời các bạn tham gia thảo luận các tuyệt chiêu tại đây

Một số bài viết có liên quan:
1/ Chiêu 42: Giảm danh sách xổ xuống của Validation, sau khi chọn 1
2/ Chiêu 41: Bẫy lỗi để trống dữ liệu
3/ Chiêu 40: Cho phép sử dụng tính năng Group and Outline trên bảng tính bị khoá

4/ Chiêu thứ 39: Ngày tháng trong Excel
5/ Chiêu 38: Thêm dữ liệu vào danh sách Validation một cách tự động
6/ Chiêu 37: Chuyển đổi các hàm và công thức trong Excel thành giá trị
7/ Chiêu thứ 36: Làm nổi các Subtotal của Excel
8/ Chiêu 35: Tự tạo danh sách để fill
9/ Chiêu 33: Tạo các định dạng số cho riêng bạn
10/ Chiêu 32: Thao tác trên dữ liệu với Advanced Filter

http://www.giaiphapexcel.com/vbb/content.php?376
 
Upvote 0
Web KT
Back
Top Bottom