Phương pháp trích xuất dữ liệu từ bảng danh sách chỉ với một cú nhấp chuột qua VBA trong Excel

Seri các bài viết này hướng dẫn cách sử dụng VBA để quản lý thông tin trong các bảng danh sách như danh sách sản phẩm, danh sách nhân sự và bao gồm 5 phần:

  • Phần 1: Cập nhật lại dữ liệu trong khu vực nhập liệu
  • Phần 2: Bổ sung dữ liệu mới vào bảng danh sách
  • Phần 3: Truy xuất thông tin từ bảng danh sách vào form chỉ qua một cú click
  • Phần 4: Xóa thông tin cụ thể nào đó khỏi bảng danh sách
  • Phần 5: Đưa nội dung từ Form cập nhật ngược lại vào bảng danh sách

Hãy cùng khám phá chi tiết của phần 3 qua bài tập dưới đây:

Dưới đây là bảng dữ liệu liên quan đến Danh sách nhân viên:

Đề nghị

  • Nếu click chuột vào bất kì dòng nào có thông tin trong Bảng danh sách, dữ liệu sẽ được tự động chuyển vào các ô để nhập liệu tương ứng
  • Quá trình này cần được thực hiện dù sheet có đang ở trạng thái khóa

Phương pháp thực hiện

1. Phân tích yêu cầu

Bài tập này giúp ta tìm hiểu về các sự kiện trong Work Sheet. Mọi hành động của ta trên Sheet, từ việc thay đổi vị trí ô được chọn tới việc chỉnh sửa trong ô hay double click, đều có thể coi như một sự kiện.

Trong trường hợp hiện tại, ta sẽ xem xét sự kiện liên quan đến việc thay đổi vị trí ô được chọn, đặc biệt là:

  • Ô được chọn cần nằm trong khu vực dữ liệu Bảng
  • Dòng có ô được chọn phải có dữ liệu, không được là dòng trống
  • Bảo đảm rằng sheet vẫn được bảo vệ sau khi sự kiện xảy ra

2. Triển khai thực hiện

Chúng ta cần chú ý một số điểm sau đây để thực hiện nhiệm vụ:

  • Lệnh xác định dòng đang được chọn
  • Lệnh nhận dữ liệu tại dòng đang được chọn và đưa vào nội dung tại các ô B3, B5, D3, D5 tương ứng dựa trên từng cột

Trong VBA, lệnh để xác định dòng đang được chọn như sau:

Để nhận dữ liệu tại dòng này và đưa vào các ô nhập liệu:

Kết hợp với việc mở khóa và khóa sheet lại, chúng ta sẽ có lệnh như sau:

Bước tiếp theo, ta sẽ gắn Sub lại với sự kiện SelectionChange ở Sheet1 như sau:

  • Double click vào Sheet 1 ở khu vực VBA Project
  • Lựa chọn WorkSheet > SelectionChange

Trong sự kiện này, chúng ta cần đặt ra một số điều kiện như sau:

  • Dòng đang được chọn cần phải nằm trong bảng danh sách: cụ thể là số dòng từ 7 trở lên
  • Dòng phải chứa dữ liệu, tức là không vượt qua dòng cuối cùng có thông tin trong bảng danh sách

Hãy thử nhấp vào bất kì dòng nào trong bảng Danh sách để xem câu lệnh VBA có hoạt động đúng không.

Chúc mọi người thành công!

Đừng quên theo dõi bài viết tiếp theo: Phần 4: Xóa thông tin khỏi bảng danh sách

[wpcc-iframe src=”https://www.youtube.com/embed/kRNLDgwY9JE” width=”854″ height=”480″ frameborder=”0″ allowfullscreen=”allowfullscreen”]
Trương Thành Tài

    [submission_id id-lien-he]

    0
      0
      Đơn hàng
      Đơn hàng trốngQuay lại Shop