Note: The other languages of the website are Google-translated. Back to English

 Làm thế nào để tạo danh sách thả xuống nhưng hiển thị các giá trị khác nhau trong Excel?

Trong trang tính Excel, chúng ta có thể nhanh chóng tạo danh sách thả xuống bằng tính năng Xác thực dữ liệu, nhưng, bạn đã bao giờ cố gắng hiển thị một giá trị khác khi bạn nhấp vào danh sách thả xuống chưa? Ví dụ: tôi có dữ liệu hai cột sau trong Cột A và Cột B, bây giờ, tôi cần tạo một danh sách thả xuống với các giá trị trong cột Tên, nhưng khi tôi chọn tên từ danh sách thả xuống đã tạo, giá trị trong cột Số được hiển thị như ảnh chụp màn hình sau. Bài viết này sẽ giới thiệu các chi tiết để giải quyết nhiệm vụ này.

doc thả xuống các giá trị khác nhau 1

Tạo danh sách thả xuống nhưng hiển thị giá trị khác trong ô danh sách thả xuống


Tạo danh sách thả xuống nhưng hiển thị giá trị khác trong ô danh sách thả xuống

Để hoàn thành tác vụ này, vui lòng thực hiện theo từng bước sau:

1. Tạo tên phạm vi cho các giá trị ô bạn muốn sử dụng trong danh sách thả xuống, trong ví dụ này, tôi sẽ nhập tên thả xuống trong Tên Box, và sau đó nhấn Đi vào chính, xem ảnh chụp màn hình:

doc thả xuống các giá trị khác nhau 2

2. Sau đó, chọn các ô mà bạn muốn chèn danh sách thả xuống và nhấp vào Ngày > Xác nhận dữ liệu > Xác nhận dữ liệu, xem ảnh chụp màn hình:

doc thả xuống các giá trị khác nhau 3

3. Trong Xác nhận dữ liệu hộp thoại, bên dưới Cài đặt tab, chọn Danh sách từ Cho phép thả xuống, sau đó nhấp vào doc thả xuống các giá trị khác nhau 5 để chọn danh sách Tên mà bạn muốn sử dụng làm giá trị thả xuống trong nguồn hộp văn bản. Xem ảnh chụp màn hình:

doc thả xuống các giá trị khác nhau 4

4. Sau khi chèn danh sách thả xuống, vui lòng nhấp chuột phải vào tab trang tính hiện hoạt và chọn Mã Chế độ xem từ menu ngữ cảnh và trong Microsoft Visual Basic cho các ứng dụng cửa sổ, sao chép và dán mã sau vào Mô-đun trống:

Mã VBA: Hiển thị giá trị khác từ danh sách thả xuống:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    selectedNa = Target.Value
    If Target.Column = 5 Then
        selectedNum = Application.VLookup(selectedNa, ActiveSheet.Range("dropdown"), 2, False)
        If Not IsError(selectedNum) Then
            Target.Value = selectedNum
        End If
    End If
End Sub

doc thả xuống các giá trị khác nhau 6

Chú thích: Trong đoạn mã trên, số 5 ở trong Nếu Target.Column = 5 Thì script là số cột mà danh sách thả xuống của bạn đặt, "thả xuống”Trong này selectNum = Application.VLookup (selectNa, ActiveSheet.Range ("dropdown"), 2, False) mã là tên dải ô bạn đã tạo ở bước 1. Bạn có thể thay đổi chúng theo ý muốn.

5. Sau đó, lưu và đóng mã này, bây giờ, khi bạn chọn một mục từ danh sách thả xuống, một giá trị tương đối khác được hiển thị trong cùng một ô, hãy xem ảnh chụp màn hình:

doc thả xuống các giá trị khác nhau 7


Demo: Tạo danh sách thả xuống nhưng hiển thị các giá trị khác nhau trong Excel

Kutools cho Excel: với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày. Tải xuống và dùng thử miễn phí ngay!

 


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Super Formula Bar (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2019 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ các tính năng dùng thử miễn phí 30 ngày. Đảm bảo hoàn tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng

 

Nhận xét (40)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này có thể được thực hiện trên các trang tính khác nhau không? Ý tôi là, trên sheet1 trình đơn thả xuống và trên sheet2 là phạm vi. Làm cách nào để viết mã này? Cảm ơn trước. Tina.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều gì sẽ xảy ra nếu tôi muốn thực hiện nhiều hơn một menu thả xuống trả về các giá trị khác nhau trên cùng một trang tính? Bạn có thể chỉ cho tôi một ví dụ về mã hóa cho hai hoặc nhiều hơn không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Lee Ann

Nếu bạn chỉ sao chép và dán mã từ If đến EndIf và thay đổi cột # và Bảng, nó sẽ hoạt động:


Sub Worksheet_Change (ByVal Target As Range)
selectNa = Target.Value
Nếu Target.Column = 5 Thì
selectNum = Application.VLookup (selectNa, ActiveSheet.Range ("dropdown"), 2, False)
If Not IsError (selectNum) Sau đó
Target.Value = selectNum
Cuối Nếu
Cuối Nếu
Nếu Target.Column = 9 Thì
selectNum = Application.VLookup (selectNa, ActiveSheet.Range ("dropdown1"), 2, False)
If Not IsError (selectNum) Sau đó
Target.Value = selectNum
Cuối Nếu
Cuối Nếu
End Sub

Tôi không nói đây là cách chính xác nhưng nó đã hoạt động trên phiên bản thử nghiệm của tôi. Tôi đang sử dụng Excel 2013
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chỉ cần thử nó. Va no đa hoạt động!! Cảm ơn bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, trợ giúp, nó không hoạt động, bạn có thể dán vào đây tất cả mã cho 2 dấu hai chấm được không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Không có gì khó chịu hơn việc gõ một câu hỏi chi tiết chỉ để nó bị thổi bay. Nếu bạn nhập sai mã 6 chữ số để xác minh con người của bạn, nó sẽ xóa tin nhắn đã đăng. Có thể muốn sửa chữa điều đó. Bây giờ nhận xét của tôi là thế này: Tôi đã cố gắng làm chính xác những gì bạn đã chỉ ra trong video và hướng dẫn bằng văn bản và tất cả những gì tôi nhận được là khi tôi chọn một cái tên trong danh sách là tên chứ không phải số. Ngoài ra, điều này thậm chí còn hoạt động như thế nào vì xác thực dữ liệu chỉ giới hạn các lựa chọn trong danh sách. Làm thế nào điều này là lừa hệ thống? Trước đây, tôi luôn phải gán mã vba cho nút hoặc một phím tắt, mã này được kích hoạt như thế nào? Làm thế nào để bạn kiểm tra để đảm bảo rằng nó đang hoạt động?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Công thức hoạt động như thế nào khi bạn muốn thêm dữ liệu trên một trang tính riêng biệt trong sổ làm việc? Tôi muốn ẩn dữ liệu.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Thay đổi ở đây anh em!
selectNum = Application.VLookup (selectNa, Worksheets ("YourSheetName"). Range ("dropdown"), 2, False)
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
"YourSheetName" tham chiếu đến trang tính chứa dải dữ liệu hoặc trang tính mà tôi muốn sử dụng danh sách dropdwon?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Công thức hoạt động như thế nào khi bạn muốn liệt kê dữ liệu trên một trang tính / tab riêng biệt trong sổ làm việc?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
điều này không hoạt động trong các phiên bản hiện tại của excel- đã lỗi thời. Xác thực dữ liệu sau đó danh sách không còn hiển thị trong vba vì một đối tượng excel đã thử nhiều lần và nó không hiển thị.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Trong ví dụ này, điều gì sẽ xảy ra nếu bạn muốn nó xem xét một giá trị trong mỗi ô trong 5, nhưng đặt giá trị vào ô liền kề bằng 6
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Mã sẽ cần phải thay đổi như thế nào nếu tôi muốn tạo tham chiếu / liên kết trong E1 tới nguồn của danh sách thả xuống dựa trên giá trị đã chọn?
Lợi ích sẽ là Trong trường hợp có thay đổi trong nguồn thả xuống (ví dụ: "Henrik" => "Hendrik", thay đổi sẽ tự động được phản ánh trong E1.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Có ai biết cách làm cho nó hoạt động trong google sheet không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
tôi muốn chọn nhiều tùy chọn từ danh sách thả xuống.
kết quả như thế này: AA1001, BB1002
là nó có thể?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Bạn đã tìm thấy một giải pháp?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Si los datos de la lista están en otra hoja, cuál sería el código? Gracias.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
cómo buscar un valor hacia la izquierda
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Private Sub Worksheet_Change (ByVal Target As Range)
selectNa = Target.Value
Nếu Target.Column = 5 Thì

Trang tính ("Nombre de la hoja en donde esta la lista"). Kích hoạt
selectNum = Application.VLookup (selectNa, ActiveSheet.Range ("dropdown"), 2, False)
Trang tính ("Nombre de la hoja en donde estas trabajando"). Kích hoạt
If Not IsError (selectNum) Sau đó
Target.Value = selectNum
Cuối Nếu
Cuối Nếu
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Ai đó biết cách tìm kiếm giá trị từ phải sang trái
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi cần sử dụng cùng một menu thả xuống trong nhiều cột, mã sẽ là gì?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hi!
Điều này thực sự hữu ích! Cảm ơn bạn!
Tôi đang chạy trong trường hợp ô không tự động cập nhật hoặc khi sử dụng chức năng làm mới. Tôi phải nhấp vào một ô khác và sau đó nhấp lại vào ô đang hoạt động để nó hiển thị giá trị.
Tôi hiện đang làm việc với Office Standard 2019. Có ai biết nếu vấn đề này có liên quan đến phiên bản trên excel mà tôi đang sử dụng không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào,
Mã hoạt động tốt nếu chúng tôi đang xác định danh sách và tạo danh sách thả xuống trong cùng một trang tính.
Nhưng làm thế nào chúng ta có thể xác định danh sách các giá trị và mã trong một trang tính và danh sách thả xuống được tạo trong một trang tính khác?
Mã này không hoạt động như nó đang hiển thị và có lỗi trong dòng này ("selectNum = Application.VLookup (selectNa, ActiveSheet.Range (" dropdown "), 2, False)").
Ngoài ra, tôi có một yêu cầu như, nếu tôi có nhiều danh sách được xác định trong một trang tính với ID và Tên và nhiều danh sách thả xuống trong một trang tính khác trong đó một giá trị thả xuống phụ thuộc vào giá trị đã chọn trong một menu thả xuống khác.

Hy vọng bạn hiểu truy vấn của tôi.

Xin hãy giúp tôi giải quyết vấn đề này.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này đã giúp tôi rất nhiều, cảm ơn bạn. Vì bảng của tôi nằm trên một trang tính khác với hộp danh sách của tôi, tôi đã thêm một vài dòng mã để thực hiện điều đó và cũng để giữ cho màn hình không nhấp nháy.

Application.ScreenUpdating = Sai
Trang tính ("SheetWithTableOnIt"). Kích hoạt

Trang tính ("SheetWithDropDownListOnIt"). Kích hoạt
Application.ScreenUpdating = True
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
chính xác thì bạn đã thêm mã này ở đâu?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi gặp lỗi Biên dịch: Lỗi cú pháp trên dòng "If Trarget.Column = 6 Then" khi tôi cố gắng sử dụng mã? Bất kỳ ý tưởng tại sao?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Nó đang hoạt động nhưng khi bạn thoát một tệp và mở lại thì nó không hoạt động ... nó không thể được lưu dưới dạng .xls chỉ như .xlsm. Có giải pháp nào cho điều đó không? Thanks
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Marko, Sau khi sao chép và dán mã vào sổ làm việc của bạn, khi bạn lưu tệp, bạn nên lưu nó dưới dạng định dạng Sổ làm việc Hỗ trợ Macro của Excel, vui lòng thử, cảm ơn bạn!
Không có bình luận nào được đăng ở đây
Tải thêm
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất