Tự động điền bằng Macro - Ví dụ về mã VBA

Tự động điền trong VBA

Bài viết này trình bày cách sử dụng Tự động điền trong VBA.

Tự động điền là một công cụ tuyệt vời trong Excel khi dữ liệu lặp đi lặp lại hoặc nếu nó là tuần tự (như các ngày trong tuần, ngày, tháng trong năm, v.v.). Thông thường, chúng tôi sẽ điền vào một vài ô đầu tiên với dữ liệu cần thiết, sau đó sử dụng Tự động điền để sao chép dữ liệu cần thiết xuống một phạm vi đã chọn.

Tất cả điều này có thể được thực hiện bằng cách sử dụng macro VBA.

Tự động điền bằng cách sử dụng Số tăng dần

Đầu tiên, trong mã của chúng ta, chúng ta có thể khai báo hai biến Phạm vi.

Lựa chọn 1 là phạm vi có dữ liệu để tự động điền - ví dụ 1 và 2.

Selection2 là toàn bộ phạm vi để tự động điền, điều này bao gồm phạm vi đầu tiên cộng với các khoảng trống để tự động điền.

Sau đó, chúng tôi sử dụng phương pháp Tự động điền để điền vào phạm vi lựa chọn thứ hai.

123456789101112131415 Công khai phụ MyAutoFill ()'bởi easyexcel.net'Khai báo các biến phạm viDim lựa chọn 1 As RangeDim lựa chọn 2 As Range'Đặt các biến phạm vi = phạm vi tương ứng của chúngĐặt lựa chọn1 = Sheet1.Range ("A1: A2")Đặt lựa chọn2 = Sheet1.Range ("A1: A12")'Tự động điềnselect1.AutoFill Destination: = selection2Kết thúc Sub

Sau đó, chúng tôi có thể chạy macro đến Dải ô tự động điền (A1: A12).

Khi chúng tôi đang sử dụng phương pháp Tự động điền, chúng tôi có thể chọn loại Tự động điền mà chúng tôi muốn thực hiện. Trong ví dụ trên, chúng tôi không chỉ định loại Tự động điền có nghĩa là loại mặc định đã được sử dụng - trong trường hợp này, hãy tăng các số lên 1 trên mỗi dòng.

Tự động điền bằng cách sử dụng Tháng

Macro để tự động điền sử dụng tháng gần như giống với macro được sử dụng để tăng số lượng, với một ngoại lệ quan trọng.

1234567891011 Công khai Sub AutoFillMonths ()'bởi easyexcel.net'Khai báo các biến phạm viDim lựa chọn 1 As RangeDim lựa chọn 2 As Range'Đặt các biến phạm vi = phạm vi tương ứng của chúngĐặt lựa chọn1 = Sheet1.Range ("A1: A2")Đặt lựa chọn2 = Sheet1.Range ("A1: A12")'Tự động điền các thángĐích tự động điền: = select2, Type: = xlFillMonthsKết thúc Sub

Khi chúng tôi điền vào loại tự động điền, chúng tôi sẽ có một số Hằng số Excel để lựa chọn. Nếu chúng ta bỏ qua điều này, Excel sẽ xác định loại dữ liệu cần điền từ dữ liệu ban đầu đã cho.

Tuy nhiên, Excel có thể chọn các chuỗi tiêu chuẩn như tháng, ngày trong tuần và các số tăng dần mà không cần sử dụng đối số Loại.

Tự động điền bằng xlFillCopy

Nếu chúng ta muốn sử dụng macro Tự động điền để sao chép thông tin xuống các ô mới, chúng ta có thể sử dụng Hằng số xlFillCopy.

1234567 Công khai Sub AutoFillCopy ()Dim Selection1 As RangeDim Selection2 As RangeĐặt Selection1 = Sheet1.Range ("A1: A1")Đặt Selection2 = Sheet1.Range ("A1: A12")Selection1.AutoFill Destination: = Selection2, Type: = xlFillCopyKết thúc Sub

Chạy macro này sẽ sao chép dữ liệu trong Phạm vi (“A1”) xuống Phạm vi (“A1: A12”) thay vì tự động điền vào các ô với các tháng tiếp theo kể từ “Tháng 1”.

Tự động điền bằng xlFlashFill

Khi chúng ta cần chuyển đổi văn bản thành cột trong Excel, chúng ta có thể sử dụng tùy chọn văn bản thành cột hoặc chúng ta có thể sử dụng một tùy chọn có tên là Flash Fill. Điều này cực kỳ hữu ích trong VBA.

Lấy ví dụ về dữ liệu sau:

Chúng ta có thể nhập họ “Tolley” vào ô B2 và sau đó sử dụng macro để Flashfill phần còn lại của dữ liệu.

1234567 Sub FlashFill ()Dim Selection1 As RangeDim Selection2 As RangeĐặt Lựa chọn1 = Phạm vi ("B2: B2")Đặt Selection2 = Range ("B2: B15")Selection1.AutoFill Destination: = Selection2, Type: = xlFlashFillKết thúc Sub

Sau đó, chúng ta có thể lặp lại điều này cho các cột C, D và E để lấy dữ liệu còn lại.

1234567891011 Đặt Lựa chọn1 = Phạm vi ("C2: C2")Đặt Lựa chọn2 = Phạm vi ("C2: C15")Selection1.AutoFill Destination: = Selection2, Type: = xlFlashFillĐặt Lựa chọn1 = Phạm vi ("D2: D2")Đặt Lựa chọn2 = Phạm vi ("D2: D15")Selection1.AutoFill Destination: = Selection2, Type: = xlFlashFillĐặt Lựa chọn1 = Phạm vi ("E2: E2")Đặt Selection2 = Range ("E2: E15")Selection1.AutoFill Destination: = Selection2, Type: = xlFlashFill

Sau đó, mỗi cột sẽ điền dữ liệu thích hợp dựa trên giá trị trong hàng 2.

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave