Hàm find

Liên hệ QC
Nhờ giúp đỡ hàm Find trong VBA
file
http://www.mediafire.com/?bv146j758sd1hl8

Yêu cầu: Ở cột A, ô nào có kí tự là abc thì ở dòng đó, trên cột C, giá trị cell sẽ cộng 2.
Trong file ví dụ, giá trị của cell C1 sẽ tăng 2 đơn vị, tức là 3 (vì cell A1 chứa string "abc")
Giá trị của cell C2 sẽ tăng 2 đơn vị, tức là 4 (vì cell A2 chứa string "abc")

Ai biết xin chỉ dùm mình :)
Tặng bạn 2 cách dùng code:
PHP:
Sub Test1()
  Dim fRng As Range, firstAdd As String
  With Range("A1:A6")
    Set fRng = .Find("abc", , xlValues, xlPart, , False)
    If Not fRng Is Nothing Then
      firstAdd = fRng.Address
      Do
        fRng.Offset(, 2).Value = fRng.Offset(, 2).Value + 2
        Set fRng = .FindNext(fRng)
      Loop Until fRng.Address = firstAdd
    End If
  End With
End Sub
và:
PHP:
Sub Test2()
  Dim Clls As Range
  For Each Clls In Range("A1:A6")
    If InStr(Clls.Value, "abc") Then
      Clls.Offset(, 2).Value = Clls.Offset(, 2).Value + 2
    End If
  Next
End Sub
Và còn vô vàn cách khác tùy thuộc vào dữ liệu của bạn nhiều hay ít
 
Upvote 0
Chắc cái đang cần của bạn là fương thức FIND(), nó đây

PHP:
 [LEFT]Sub Them2KhiCoABC()   
   Dim Rng As Range, sRng As Range   
   Dim MyAdd As String   

   Set Rng = Range([A1], [A65500].End(xlUp))    
   Set sRng = Rng.Find("abc", , xlFormulas, xlPart)    
    If Not sRng Is Nothing Then       
       MyAdd= sRng.Address          
       Do                
            With sRng.Offset(, 2)    
                .Value = .Value + 2        
            End With               
            Set sRng = Rng.FindNext(sRng) 
       Loop While Not sRng Is Nothing And sRng.Address <> MyAdd   
   End If     
End Sub
[/LEFT]
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Web KT
Back
Top Bottom