Để dễ hình dung, mình xin mô tả bảng số liệu thực nghiệm được ghi ở cột 'A' như dưới đây:
::
00| . . A
01|SL Thực nghiệm
02|++++++
03|0
04|G
05|++++++
06|w
07|C
08|z
09|++++++
10|0
11|C
12|C
13|Good
14|++++++
15|GPE
16|Good
17|0
:nguguc:
Nhiệm vụ đề ra là giữa các thí nghiệm (được fân cách bỡi dòng có 5 dấu '+')
Nếu chỉ cần có 1 dữ liệu thí nghiệm được đánh giá là 'C' thì xóa toàn vùng/dòng của thực nghiệm đó. Việc xóa này tiến hành bắt đầu từ dòng có 6 "+" cho đến trước dòng 6 chữ "+" kế tiếp
Trong bảng trên, các dòng bị xóa sẽ là
Từ dòng 5 đến dòng 8 vì [A7] có chứa 'C'
Từ dòng 9 đến dòng 13 vì [A11] có chứa 'C'
Dưới đây là nội dung macro; Nhưng macro này chỉ mới tô màu để kiểm tra thôi; Nó chưa thực sự xóa các dòng đó. Nó còn chờ hiệu lệnh của các bạn!
Mã nguồn PHP:
[COLOR=#000000]
Option Explicit
Sub XoaKhoang[/COLOR][COLOR=#007700]()
Const [/COLOR][COLOR=#0000BB]CTh [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]String [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#DD0000]"++++++"
[/COLOR][COLOR=#0000BB]Dim Rng [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Range[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]sRng [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Range[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]fRg [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Range[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Cls [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Range
Dim MyAdd [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]String[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]jJ [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Long
Set Rng [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Range[/COLOR][COLOR=#007700]([[/COLOR][COLOR=#0000BB]A1[/COLOR][COLOR=#007700]], [[/COLOR][COLOR=#0000BB]A65500[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]End[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]xlUp[/COLOR][COLOR=#007700]))
[/COLOR][COLOR=#0000BB]Rng[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Interior[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]ColorIndex [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]0
Set sRng [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Rng[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Find[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]CTh[/COLOR][COLOR=#007700], , [/COLOR][COLOR=#0000BB]xlFormulas[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]xlWhole[/COLOR][COLOR=#007700])
If [/COLOR][COLOR=#0000BB]Not sRng Is Nothing Then
MyAdd [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]sRng[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Address
[/COLOR][COLOR=#007700]Do
[/COLOR][COLOR=#0000BB]jJ [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]jJ [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]1
[/COLOR][COLOR=#007700]If [/COLOR][COLOR=#0000BB]jJ [/COLOR][COLOR=#007700]> [/COLOR][COLOR=#0000BB]1 Then
[/COLOR][COLOR=#007700]For [/COLOR][COLOR=#0000BB]Each Cls In Range[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]fRg[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]sRng[/COLOR][COLOR=#007700])
If [/COLOR][COLOR=#0000BB]UCase[/COLOR][COLOR=#007700]$([/COLOR][COLOR=#0000BB]Cls[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Value[/COLOR][COLOR=#007700]) = [/COLOR][COLOR=#DD0000]"C" [/COLOR][COLOR=#0000BB]Then
Range[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]fRg[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]sRng[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Offset[/COLOR][COLOR=#007700](-[/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700])).[/COLOR][COLOR=#0000BB]Interior[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]ColorIndex [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]34 [/COLOR][COLOR=#007700]+ ([/COLOR][COLOR=#0000BB]jJ Mod 9[/COLOR][COLOR=#007700])
Exit For
[/COLOR][COLOR=#0000BB]End [/COLOR][COLOR=#007700]If
[/COLOR][COLOR=#0000BB]Next Cls
End [/COLOR][COLOR=#007700]If
[/COLOR][COLOR=#0000BB]Set fRg [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]sRng
Set sRng [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]Rng[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]FindNext[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]sRng[/COLOR][COLOR=#007700])
[/COLOR][COLOR=#0000BB]Loop [/COLOR][COLOR=#007700]While [/COLOR][COLOR=#0000BB]Not sRng Is Nothing [/COLOR][COLOR=#007700]And [/COLOR][COLOR=#0000BB]sRng[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Address [/COLOR][COLOR=#007700]<> [/COLOR][COLOR=#0000BB]MyAdd
End [/COLOR][COLOR=#007700]If
[/COLOR][COLOR=#0000BB]End Sub
[/COLOR]
View more random threads:
Theo Reuters, các bác sĩ thuộc Đại học Stellenbosch tại Cape Town (Nam Phi) đã tiến hành giải phẫu cho một thanh niên 21 tuổi vào tháng 12 năm ngoái. Bệnh nhân buộc phải cắt bỏ cơ quan sinh dục do bộ...
Công bố trường hợp ghép “cậu nhỏ” thành công cho 1 quý ông giấu tên