Trang Chủ Xã hội Truyền thông Cách sử dụng các vòng lặp for-tiếp theo trong Excel 2016 VBA - núm vú

Cách sử dụng các vòng lặp for-tiếp theo trong Excel 2016 VBA - núm vú

Mục lục:

Video: Phần 2: VBA for Excel - Bài 15: In ấn nhanh trong Excel sử dụng VBA 2025

Video: Phần 2: VBA for Excel - Bài 15: In ấn nhanh trong Excel sử dụng VBA 2025
Anonim

Các loại đơn giản nhất của vòng lặp trong Excel VBA lập trình là một For-Next loop. Việc lặp lại được điều khiển bởi một biến đếm, bắt đầu ở một giá trị và dừng lại ở một giá trị khác. Các câu lệnh giữa câu lệnh For và câu lệnh Next là các câu lệnh lặp lại trong vòng lặp.

Ví dụ về ví dụ tiếp theo

Ví dụ sau sử dụng vòng lặp For-Next để tổng số 1, 000 số dương đầu tiên. Tổng biến bắt đầu bằng số không. Sau đó lặp lại xảy ra. Biến Cnt là bộ đếm vòng. Nó bắt đầu như là 1 và được tăng lên 1 mỗi lần thông qua các vòng lặp. Vòng kết thúc khi Cnt là 1, 000.

Ví dụ này chỉ có một câu lệnh bên trong vòng lặp. Câu lệnh này thêm giá trị của Cnt vào biến Total. Khi vòng lặp kết thúc, một MsgBox hiển thị tổng của các con số.

Sub AddNumbers () Dim Total Là Double Dim Cnt Như Long Total = 0 Đối với Cnt = 1 To 1000 Tổng cộng = Tổng cộng + Cnt Next Cnt MsgBox Tổng số End Sub

Bởi vì bộ đếm vòng lặp là một biến bình thường, bạn có thể viết code để thay đổi giá trị của nó trong khối mã giữa câu lệnh For và The Next. Tuy nhiên, đây là một thực hành rất xấu .

Các ví dụ về ví dụ với Bước

Bạn có thể sử dụng một giá trị Bước để bỏ qua một số giá trị đếm trong một vòng lặp For-Next. Dưới đây là ví dụ trước, được viết lại để tổng hợp các số lẻ giữa 1 và 1, 000:

Sub AddOddNumbers () Dim Total Là Double Dim Cnt Như Long Tổng = 0 Đối với Cnt = 1 To 1000 Bước 2 Tổng cộng = Tổng cộng + CNT Next Cnt MsgBox Total End Sub

Thời gian này, Cnt bắt đầu bằng 1 và sau đó lấy giá trị 3, 5, 7, vân vân. Giá trị Bước xác định cách đếm được tăng lên. Lưu ý rằng giá trị vòng trên (1000) không thực sự được sử dụng bởi vì giá trị cao nhất của Cnt là 999.

Đây là một ví dụ khác sử dụng một giá trị Step của 3. Thủ tục này hoạt động với bảng hoạt động và áp dụng bóng mờ màu xám cho mỗi hàng thứ ba, từ hàng 1 đến hàng 100.

Sub ShadeEveryThirdRow () Dim i As Long For i = 1 đến 100 Bước 3 Các hàng (i). Nội địa. Color = RGB (200, 200, 200) Tiếp theo i End Sub

Kiểm tra kết quả của thao tác macro này.

Sử dụng một vòng lặp để áp dụng bóng nền cho các hàng.

Ví dụ For-Next với câu lệnh Exit For

Một vòng For-Next cũng có thể bao gồm một hoặc nhiều câu lệnh Exit For trong vòng lặp. Khi VBA gặp câu lệnh này, vòng lặp kết thúc ngay lập tức.

Ví dụ sau minh họa câu lệnh Exit For. Thủ tục này là một thủ tục Chức năng, dự định sẽ được sử dụng trong một công thức bảng tính.Hàm chấp nhận một đối số (một biến có tên là Str) và trả về các ký tự ở bên trái của chữ số đầu tiên. Ví dụ, nếu đối số là "KBR98Z," hàm trả về "KBR. "

Chức năng TextPart (Str) Dim i Như Long TextPart =" "Đối với i = 1 Để Len (Str) Nếu IsNumeric (Mid (Str, i, 1)) Sau đó Exit For Else TextPart = TextPart & Mid (Str, i, 1) End If Next i End Function

Vòng For-Next bắt đầu bằng 1 và kết thúc bằng số đại diện cho số ký tự trong chuỗi. Mã sử ​​dụng chức năng VBA Mid để trích xuất một ký tự đơn lẻ trong vòng lặp. Nếu một ký tự số được tìm thấy, lệnh Exit For được thực hiện, và vòng lặp kết thúc sớm.

Nếu ký tự không phải là số, nó sẽ được nối với giá trị đã trả về (giống như tên của hàm). Lần duy nhất vòng lặp kiểm tra mỗi ký tự là nếu chuỗi được truyền như là đối số không có ký tự số.

Một ví dụ For-Next

Bạn có thể có bất kỳ số câu lệnh nào trong vòng lặp và tổ vòng lặp For-Next bên trong các vòng For-Next khác.

Ví dụ sau sử dụng một vòng For-Next lồng nhau để chèn các số ngẫu nhiên vào một dải ô 12-hàng-by-5-cột. Lưu ý rằng thủ tục thực hiện vòng lặp bên trong (vòng lặp với bộ đếm Hàng) một lần cho mỗi lần lặp của vòng lặp bên ngoài (vòng lặp với Col counter). Nói cách khác, thủ tục này thực thi lệnh Cells (Row, Col) = Rnd 60 lần. Các ô này được điền bằng cách sử dụng vòng lặp For-Next lồng nhau.

Sub FillRange () Kích thước Dim As Long Dim Row Như Long Đối với Col = 1 Để 5 Đối với Row = 1 Để 12 Cells (Row, Col) = Rnd Next Row Tiếp Col End Sub
Ví dụ tiếp theo sử dụng nested For - Các vòng lặp tiếp theo để khởi tạo mảng ba chiều với giá trị 100. Thói quen này thực hiện câu lệnh ở giữa tất cả các vòng lặp (câu lệnh chuyển nhượng) 1, 000 lần (10 * 10 * 10), mỗi lần với một sự kết hợp khác các giá trị cho i, j, và k:

Sub NestedLoops () Dim MyArray (10, 10, 10) Dim i Như Long Dim j Như Long Dim k Như Long Đối với i = 1 To 10 Đối với j = 1 To 10 Đối với k = 1 đến 10 MyArray (i, j, k) = 100 Kế tiếp k Next j Tiếp theo i 'Các câu lệnh khác đi ở đây End Sub

Đây là một ví dụ cuối cùng sử dụng các vòng For-Next lồng nhau, với một giá trị Bước. Thủ tục này tạo ra một bàn cờ bằng cách thay đổi màu nền của các tế bào xen kẽ.

Sử dụng vòng lặp để tạo mẫu bảng cờ.

Bộ đếm hàng trỏ từ 1 đến 8. Một cấu trúc if-then xác định cấu trúc For-Next nào đã lồng nhau để sử dụng. Đối với các hàng được đánh số lẻ, số liệu đếm Col bắt đầu bằng 2. Đối với các hàng có số chẵn, số đếm Col bắt đầu bằng 1. Cả hai vòng lặp đều sử dụng giá trị Bước là 2, do đó các ô thay thế bị ảnh hưởng. Hai báo cáo bổ sung làm cho các ô vuông (giống như một bàn cờ thực).

Sub MakeCheckerboard () Dim R As Long, C Như Long Đối với R = 1 đến 8 Nếu WorksheetFunction. IsOdd (R) Sau đó Đối với C = 2 đến 8 Bước 2 Các tế bào (R, C). Nội địa. Color = 255 Next C Else Đối với C = 1 đến 8 Bước 2 Các tế bào (R, C). Nội địa. Màu = 255 Tiếp C Cuối Nếu Tiếp R Rows ("1: 8").RowHeight = 35 Cột ("A: H"). ColumnWidth = 6. 5 End Sub

Cách sử dụng các vòng lặp for-tiếp theo trong Excel 2016 VBA - núm vú

Lựa chọn của người biên tập

Câu hỏi Toán Thực hành aCT: Phương trình tuyến tính - núm vú

Câu hỏi Toán Thực hành aCT: Phương trình tuyến tính - núm vú

Nếu bạn muốn treo trên mặt phẳng phối hợp, sau đó bạn nên biết làm thế nào để sử dụng phương trình tuyến tính. Trong bài kiểm tra Toán ACT, bạn sẽ gặp những câu hỏi như sau, nơi bạn được yêu cầu tìm ra biểu mẫu đánh chặn độ dốc để tính toán độ dốc của các đường khác nhau. Câu hỏi thực hành Độ dốc của đường ...

Câu hỏi luyện thi aCT: Xác suất - núm vú

Câu hỏi luyện thi aCT: Xác suất - núm vú

Có một cơ hội tốt để thi ACT Math có chứa một hoặc thêm nhiều câu hỏi liên quan đến xác suất. Cũng có một cơ hội tốt để bạn trả lời đúng những câu hỏi đó sẽ cải thiện nếu bạn giải quyết các câu hỏi thực hành sau đây. Câu hỏi thực hành Sheila có 4 vớ màu đen và 2 vớ hải quân trong cô ấy

Câu hỏi Toán Thực hành aCT: Phần trăm - núm vú

Câu hỏi Toán Thực hành aCT: Phần trăm - núm vú

Nếu bạn muốn có điểm phần trăm cao trong kỳ thi Toán ACT, sau đó bạn nên biết làm thế nào để giải quyết vấn đề tỷ lệ phần trăm. Như bạn sẽ thấy trong các câu hỏi thực hành sau đây, phần trăm xuất hiện trong một loạt các vấn đề, từ toán kinh doanh sang đại số. Câu hỏi thực hành Cho rằng 6 phần trăm (a + b) = 12 phần trăm

Lựa chọn của người biên tập

Làm thế nào để Xác định Custom Cell Styles trong Excel 2016 - núm vú

Làm thế nào để Xác định Custom Cell Styles trong Excel 2016 - núm vú

Bạn không phải sống với chỉ những kiểu được xác định trước mà Excel 2016 cung cấp cho bạn trên thư viện Kiểu ô bởi vì bạn có thể dễ dàng tạo các kiểu tế bào tùy chỉnh của riêng bạn. Cách đơn giản nhất để tạo ra một kiểu tế bào tùy chỉnh mới là ví dụ. Khi bạn tạo ra một kiểu tế bào theo ví dụ, bạn ...

Làm thế nào để Xoá Cells và Dữ liệu trong Excel 2010 - núm vú

Làm thế nào để Xoá Cells và Dữ liệu trong Excel 2010 - núm vú

Trong Excel 2010, khi bạn cần xóa dữ liệu, xóa định dạng trong việc chọn ô hoặc xóa toàn bộ ô, hàng hoặc cột, bạn có nhiều tuỳ chọn. Excel có thể thực hiện hai loại xóa bỏ các tế bào trong một bảng tính: xóa dữ liệu ô và xóa các tế bào. Xoá bỏ các nội dung của ô Xoá các ô chỉ xóa hoặc bỏ các ô của ô ...

Làm thế nào để chỉnh sửa một nguồn dữ liệu của biểu đồ trong Excel 2010 - núm vú

Làm thế nào để chỉnh sửa một nguồn dữ liệu của biểu đồ trong Excel 2010 - núm vú

Sau khi tạo một biểu đồ trong Excel 2010, bạn có thể cần phải thay đổi dải dữ liệu nguồn là cơ sở cho biểu đồ. Hộp thoại Chọn nguồn dữ liệu cho phép bạn chọn một phạm vi nguồn khác cho một biểu đồ hiện có. Bạn cũng có thể sử dụng hộp thoại này để chuyển đổi hàng và ...

Lựa chọn của người biên tập

Các mẹo để Xử lý các vấn đề về Word trên ASVAB

Các mẹo để Xử lý các vấn đề về Word trên ASVAB

Các thử nghiệm aSVAB thường lãng phí rất nhiều thời gian đọc và đọc lại các vấn đề từ như thể câu trả lời có thể tiết lộ cho họ một phép lạ nào đó; tuy nhiên, giải quyết vấn đề từ toán học một cách chính xác yêu cầu bạn thực hiện một loạt các bước được tổ chức: Đọc hoàn toàn vấn đề. Tìm ra câu hỏi đang đặt ra. Đào tạo những người có liên quan ...

Cố gắng Câu hỏi Câu hỏi Câu hỏi về bốn loại Câu hỏi về ASVAB-núm vú

Cố gắng Câu hỏi Câu hỏi Câu hỏi về bốn loại Câu hỏi về ASVAB-núm vú

Phần của ASVAB sẽ hỏi bạn các câu hỏi để kiểm tra khả năng hiểu các đoạn văn ngắn. Các câu hỏi Câu hỏi Câu hỏi về ASVAB thường có một trong bốn hình thức: Tìm kiếm thông tin cụ thể Nhận biết ý chính Xác định ý nghĩa của từ trong ngữ cảnh Vẽ một ý nghĩa từ ý tưởng đã nêu Mỗi loại câu hỏi ...

Bạn sẽ tìm thấy những câu hỏi nào về Kiến thức về Toán học Subtest of the ASVAB? - con số

Bạn sẽ tìm thấy những câu hỏi nào về Kiến thức về Toán học Subtest of the ASVAB? - con số

Trên CAT-ASVAB, bài kiểm tra kiến ​​thức về Toán học bao gồm 16 câu hỏi bao gồm toàn bộ mảng toán học bậc trung học, và bạn có 20 phút để hoàn thành bài kiểm tra. (Nếu bạn đang dùng phiên bản giấy của ASVAB, bạn phải trả lời 25 câu hỏi trong vòng 24 phút.) Bạn không nhất thiết phải vội vã từng tính toán, nhưng ...