Vòng lặp for trong excel
Trong bài này chúng ta sẽ tò mò về những vòng lặp trong VBA như: vòng lặp For, vòng lặp bởi While, vòng lặp vì chưng Until, vòng lặp For Each. Kèm từ đó là gần như ví dụ đơn giản nhất.


Vòng lặp là trong số những kỹ thuật trẻ trung và tràn đầy năng lượng nhất của những ngôn ngữ lập trình. Vòng lặp vào Excel VBA chất nhận được bạn lặp sang 1 dải ô chưa đến một vài mẫu code.
Bạn đang xem: Vòng lặp for trong excel
1. Vòng lặp For vào VBA
Vòng lặp For 1-1 giản
Vòng lặp For được dùng trong trường đúng theo biết trước tổng tần số lặp.
Bước nhảy ở vòng lặp for là 1 đơn vị.
Bài viết này được đăng tại
Đoạn code này vẫn gán quý giá 100 cho các ô từ A1 đến A6. Kêt trái chạy chương trình này sẽ như sau:
Mình sẽ lý giải một chút nhé.
For i = 1 khổng lồ 6 có nghĩa là lặp 6 lần (1,2,3,4,5,6)Cells(i, 1).Value = 100 vẫn gán quý hiếm 100 cho ô trong đợt lặp đó.Lần 1: i = 1 đề xuất Cells(1, 1).Value = 100Lần 2: i = 2 đề xuất Cells(2, 1).Value = 100Lần 3: i = 3 đề xuất Cells(3, 1).Value = 100Lần 4: i = 4 yêu cầu Cells(4, 1).Value = 100Lần 5: i = 5 đề nghị Cells(5, 1).Value = 100Next i là cú pháp bắt buộc. Biến chuyển i đó là biến tinh chỉnh vòng lặp.Vòng lặp For lồng nhau
Bạn có thể sử dụng vòng lặp For lồng nhau để lặp sang 1 dãy gồm nhiều ô và nhiều cột.
Ví dụ: Gán quý hiếm 100 cho các ô từ A1 cho B6.
Dim i As Integer, j As IntegerFor i = 1 khổng lồ 6 For j = 1 lớn 2 Cells(i, j).Value = 100 Next jNext i
Vòng lặp phía bên ngoài sẽ lặp 6 lần, và mỗi lần lặp nó vẫn lặp gấp đôi ở vòng lặp bé bên trong.
Kết quả thật sau:
For Loop Step
Step thiết yếu lá giá chỉ trị bước nhảy của vòng lặp.
Sub ForEach_CountTo10_Even() Dim n As Integer For n = 2 khổng lồ 10 Step 2 MsgBox n Next n end Sub
Mặc định của Step là bằng 1 phải những vòng lặp các bạn truyền step thì sẽ là vòng lặp bao gồm bước dancing tăng 1 đối kháng vị.Nếu bạn muốn thực hiện vòng lặp sút thì hãy thiết lập step là số âm.Ví dụ 1: Lặp từu 10 cho 1.
Sub ForEach_Countdown_Inverse() Dim n As Integer For n = 10 to lớn 1 Step -1 MsgBox n Next n MsgBox "Lift Off" kết thúc Sub
Ví dụ 2: thực hiện vòng lặp lồng nhau để in ra bảng cửu chương nhân.
Sub Nested_ForEach_MultiplicationTable() Dim row As Integer, col As Integer For row = 1 khổng lồ 9 For col = 1 lớn 9 Cells(row + 1, col + 1).Value = row * col Next col Next row kết thúc Sub
Kết quả sẽ có được dạng như sau:
Exit For
Đây là lệnh dùng để dừng vòng lặp For ngay lập tức. Khi chạm mặt lệnh này thì dù đk dúng xuất xắc sai nó cũng sẽ xong vòng lặp, kể cả những đoạn code còn chưa chạy ở phía bên dưới cũng không thực thi.
Ví dụ tiếp sau đây sẽ lặp những ô A1 cho A1000, nếu gặp mặt ô nào có giá trị "error" thì xuất thông tin và xong vòng lặp.
Sub ExitFor_Loop() Dim i As Integer For i = 1 lớn 1000 If Range("A" & i).Value = "error" Then Range("A" & i).Select MsgBox "Error Found" Exit For end If Next i over Sub
Continue For
Đây là lệnh bỏ qua mất lần lặp bây giờ và khiêu vũ tới lần lặp kế tiếp. Khi gặp lệnh này thì trình biên dịch sẽ bỏ lỡ những đoạn code bên dưới của lần lặp hiện tại tại, tiếp nối kiểm tra điều kiện lặp với lặp đến lần lặp kế tiếp.Cách cần sử dụng nó nhưu lệnh Exit For.
Xem thêm: Điều Kiện Làm Thẻ Đen Vietcombank, Thẻ Đen Vietcombank Là Gì
2. Vòng lặp For Each trong VBA
Vòng lặp For Each đang lặp qua từng phần tử của một list (collection), thường sẽ là:
Các ô trong ExcelCác biểu trang bị trong SheetCác SheetCác ô trong một vùng chọn...Cú pháp của nó như sau:
For Each Object in Collection
Vòng lặp For Each được sử dụng để lăp qua các bộ phận của một danh sách, ví dụ như một dãy những trang tính, dãy những ô hoặc một dãy các số từ bỏ nhiên.
Ví dụ 1: Lặp qua toàn bộ các bảng tính trong Workbook
Đoạn code này đã lặp qua tất cả các trang tính trong cùng hiển thị chúng:
Sub LoopThroughSheets()Dim ws As Worksheet For Each ws In Worksheets ws.Visible = True Next end Sub
Ví dụ 2: Lặp qua toàn bộ các ô trong một phạm vi (Range)
Đoạn code này sẽ lặp qua một tất cả những ô trong chiêu mộ phạm vi, soát sổ xem giá trị của ô là âm tốt dương:
Sub If_Loop()Dim Cell as Range For Each Cell In Range("A2:A6") If Cell.Value > 0 Then Cell.Offset(0, 1).Value = "Positive" ElseIf Cell.Value
Ví dụ 3: Lặp qua các cell từ A1 mang lại A10
Sub ForEachCell_inRange() Dim cell As Range For Each cell In Range("a1:a10") cell.Value = cell.Offset(0, 1).Value Next cell end Sub
Ví dụ 4: Lặp qua từng sheet với loải bỏ bản lĩnh mật khẩu bảo vệ.
Sub ForEachSheet_inWorkbook() Dim ws As Worksheet For Each ws In Worksheets ws.Unprotect "password" Next ws over Sub
Ví dụ 5: Lặp qua phần nhiều workbook đã ở trạng thái open.
Sub ForEachWB_inWorkbooks() Dim wb As Workbook For Each wb In Workbooks wb.Close SaveChanges:=True Next wb end Sub
Ví dụ 6: Lặp qua những Shape trong Sheet đã active.
Sub ForEachShape() Dim shp As Shape For Each shp In ActiveSheet.Shapes shp.Delete Next shp end Sub
Ví dụ 7: phối kết hợp lệnh If Then
Sub ForEachCell_inRange() Dim cell As Range For Each cell In Range("a1:a10") If cell.Value = "" Then _ cell.EntireRow.Hidden = True Next cell kết thúc Sub
3. Vòng lặp bởi vì While vào VBA
Nếu vòng lặp For dùng làm lặp trong trường đúng theo biết trước tổng tần số lặp thì vòng lặp do While lại khác, ta sẽ cần sử dụng nó vào trường hợp đắn đo trước tổng chu kỳ lặp.Đặt điều kiện ở trên
Cú pháp của chính nó như sau:
Do condition // statementsLoop
Trong kia statements đó là những đoạn code được chạy trường hợp condition = true.
Bạn phải chú ý là trong các lệnh sinh hoạt statements phải có trường hợp chỉ dẫn nhưng điều kiện sai để dừng vòng lặp, còn nếu như không sẽ dẫn mang lại lặp vô hạn.
Ví dụ 1: Gán cực hiếm 20 cho những ô từ bỏ A1 cho A5.
Dim i As Integeri = 1Do While i
Kết quả:
Ví dụ 2: Gán giá chỉ trị của các ô trường đoản cú B1 mang lại B5, cực hiếm được mang từ cột A khớp ứng và cộng thêm 10 đối kháng vị.
Dim i As Integeri = 1Do While Cells(i, 1).Value "" Cells(i, 2).Value = Cells(i, 1).Value + 10 i = i + 1Loop
Kết quả:
Đặt đk ở cuối
Bạn bao gồm thể thay đổi biến thể của vày While bằng cách đặt điều kiện ở cuối.
Do " statementLoop While Condition
Ví dụ: Lặp từ 1 đến 10.
Sub DoLoopWhile() Dim n As Integer n = 1 vị MsgBox n n = n + 1 Loop While n
4. Vòng lặp vày Until trong VBA
Đặt đk ở đầu bài
Vòng lặp bởi vì Until đang lặp cho tới khi điều kiện được đáp ứng. Cú pháp về cơ bản giống như những vòng lặp bởi vì While:Do Until Condition
Ví dụ:
Sub DoUntilLoop() Dim n As Integer n = 1 vày Until n > 10 MsgBox n n = n + 1 LoopEnd Sub
Đặt điều kiện ở cuối bài
Và tương tự, chúng ta cũng có thể đặt condition sống cuối.Do
Ví dụ
Sub DoLoopUntil() Dim n As Integer n = 1 bởi vì MsgBox n n = n + 1 Loop Until n > 10End Sub
Exit Do
Lệnh này có chức năng tương trường đoản cú lệnh Exit For, có nghĩa là nó sẽ nhảy thoát ra khỏi vòng lặp ngay lập tức.Ví dụ: Viết lại ví dụ ở chỗ Exit For.
Sub ExitDo_Loop() Dim i As Integer i = 1 bởi Until i > 1000 If Range("A" và i).Value = "error" Then Range("A" và i).Select MsgBox "Error Found" Exit bởi vì End If i = i + 1 Loop over Sub
Trên là cách sử dụng vòng lặp vào VBA như: Vòng lặp For, vày While, vị Until, For Each.
bài trước bài tiếp
biện pháp chèn link ảnh vào Excel trên máy vi tính
ngoài ra, nội dung bài viết còn phía dẫn biện pháp chèn link ảnh trực đường hàng loạt…
Cách bóc tách và gộp ô trong Excel
trong bảng tính Microsoft Excel, có thể sẽ có lúc chúng ta cần bóc ô…
Hàm MONTH() vào Excel
cách dùng hàm MONTH() vào Excel
Hàm YEAR () vào Excel
cách dùng hàm YEAR () trong Excel
Hàm HLOOKUP() trong Excel
cách dùng hàm HLOOKUP() trong Excel
Hàm VLOOKUP() vào Excel
cách dùng hàm VLOOKUP() trong Excel
Hàm LOOKUP() trong Excel
cách dùng hàm LOOKUP() trong Excel
Hàm ABS() vào Excel
bí quyết dùng hàm ABS() vào Excel
Hàm SUM() trong Excel
cách dùng hàm SUM() vào Excel
Hàm SQRT() vào Excel
bí quyết dùng hàm SQRT() vào Excel
Hàm MOD() vào Excel
bí quyết dùng hàm MOD() vào Excel
Hàm SUMIF() vào Excel
phương pháp dùng hàm SUMIF() trong Excel
Hàm SUBTOTAL() vào Excel
bí quyết dùng hàm SUBTOTAL() trong Excel
Hàm ROUND() trong Excel
bí quyết dùng hàm ROUND() vào Excel
Hàm SUMPRODUCT() vào Excel
biện pháp dùng hàm SUMPRODUCT() vào Excel
Hàm COUNT() vào Excel
biện pháp dùng hàm COUNT() vào Excel
Hàm COUNTA() trong Excel
phương pháp dùng hàm COUNTA() vào Excel
Hàm COUNTBLANK() vào Excel
bí quyết dùng hàm COUNTBLANK() vào Excel
Hàm MAX() trong Excel
biện pháp dùng hàm MAX() trong Excel
Hàm MIN() trong Excel
phương pháp dùng hàm MIN() vào Excel
WORDPRESS
HTML Templates
Theme WordPress
Plugin WordPress
lập trình WordPress
thủ pháp WordPress
WEB HOSTING
quản trị Linux
thủ pháp Hosting
kỹ năng và kiến thức Domain
WEB FRONTEND
Javascript
AngularJS
jQuery
jQuery mobile
HTML & CSS
Bootstrap
TypeScript
SASS CSS
VueJS
NestJS
học tập ReactJS
WEB BACKEND
PHP
Codeigniter
Laravel
Phalcon
OpenCart
NodeJS
Blogspot
DATABASE
học tập MySQL
học tập MongoDB
cơ sở dữ liệu căn bạn dạng
học tập Oracle
học tập SQL hệ thống
học tập SQLite
PROGRAMMING
Python
Java
Pascal
học C#
học Ruby
học Swift
C / C++
Kotlin
Golang
lời giải
Visual Basic
MOBILE DEV
React Native
Học ios
android
Flutter
CÔNG CỤ
học Git
Testing
Control Panel
Dev Tool
FFmpeg
TIN HỌC
Excel
Word
PowerPoint
Access
Photoshop
MÔN HỌC
giờ đồng hồ Anh
Toán
tiếng Nhật
Văn học tập
VIDEO
CSS Lab
PHP Lab
trình làng
trình làng Liên hệ chính sách Điều khoản
thủ pháp
laptop Game Điện thoại Ứng dụng
links hay
Môn học tập Toán Văn học tập Tiếng Anh
link
Gamehow.net
đứng top Vinsports.net Tải phầm mềm dk8, dk8 bet, sở hữu dk8