dừng lẹnh khi ra ngoài vùng chọn (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

nhatthuc147

Thành viên mới
Tham gia
19/9/07
Bài viết
35
Được thích
9
Nghề nghiệp
Kỹ sư công nghệ hóa
em chọn một mảng các ô trong excel và dùng lệnh do while ... loop để viết code cho nó, tuy nhiên em muốn lệnh của em dừng lại khi nó ra khỏi vùng chọn thì không biết làm sao. giúp em với.
 
Một vùng chọn (Selection or range) có các biên là tổng số dòng và cột, bạn có thể dùng số dòng và cột để làm điều kiểm thoát vòng lặp.

ví dụ:
Mã:
[color=darkblue]Option[/color] [color=darkblue]Explicit[/color]
[color=darkblue]Sub[/color] dkthoatrange()
    [color=darkblue]Dim[/color] rng [color=darkblue]As[/color] Range
    [color=darkblue]Dim[/color] i [color=darkblue]As[/color] [color=darkblue]Long[/color]
    [color=darkblue]Set[/color] rng = Range("A1:c10")
    [color=darkblue]Do[/color] [color=darkblue]While[/color] i < rng.Rows.Count
        i = i + 1
        rng.Rows(i).Interior.ColorIndex = 5 + i
    [color=darkblue]Loop[/color]
[color=darkblue]End[/color] [color=darkblue]Sub[/color]

Thân.
 
Hi nhatthuc147,
Cùng phương pháp dùng điều kiện, bạn có thể dùng "Exit Do" để thoát khỏi vòng lặp Do While... Loop.
Ví dụ:
Sub example()
Do While ...
.......
If Ngoài Vùng Chọn Then Exit Do
Loop
End Sub
 
Thêm một tham khảo, như sau

PHP:
 Sub Thoat()
  Dim Rng  As Range
 
      Set Rng = Range( "A1:Z9")
      If Intersect ( Selection, Rng) Is Nothing then exit Sub 
      MsgBox Selection.Address

 End Sub
 
nhatthuc147 đã viết:
em chọn một mảng các ô trong excel và dùng lệnh do while ... loop để viết code cho nó, tuy nhiên em muốn lệnh của em dừng lại khi nó ra khỏi vùng chọn thì không biết làm sao. giúp em với.
Để vòng lặp chỉ lặp trong vùng chọn và kết thúc khi lặp đến ô cuối cùng, bạn sử dụng vòng lặp:
For Each ... In .....
.....
Next
Ví dụ này sẽ lần lượt thông báo địa chỉ từng ô trong vòng lặp
Mã:
Sub MyRange()
For Each mycell In Selection
  MsgBox mycell.Address
Next
End Sub
 
xin cảm ơn các bạn nhiều.!
 
Khi copy và past xong, thì khu vực past bị đánh khối. Có phím tắt nào để thoát khỏi khối trên để thực hiện lệnh khác không? anh chị nào biết chỉ giúp. Thanks
 
Khi copy và past xong, thì khu vực past bị đánh khối. Có phím tắt nào để thoát khỏi khối trên để thực hiện lệnh khác không? anh chị nào biết chỉ giúp. Thanks
Lệnh khác là lệnh gì? Bạn cứ thực thi lệnh của bạn thôi, cần gì phải "thoát"
 
Web KT

Bài viết mới nhất

Back
Top Bottom