24 Eylül 2012 Pazartesi

Excel VBA Like

Excelde binlerce veriniz var ve bunlar içinde sadece bir cümleyi içeren kelimeleri seçmek istiyorsunuz. Bu işlemi küçük bir filitre ile halledebilirsiniz fakat yanyana bir sürü sütun olduğunu düşünürseniz bu sizin için gerçekten büyük bir zahmet olabilir. Bu zahmetten kurtulmak için Excel VBA da "Like" Methodunu kullanabilirsiniz.

Örneğin :

A dan BP sütununa kadar 20.000 satır dolu olmak üzere kayıtlarınız var. Bu nedemek oluyor 68 * 20.000 = 1.360.000 yığın şekilde kaydınız var ve siz bunların içinden hangisinde "acemi" yazılı olduğunu bulmak istiyorsunuz bu aslınada Ara özelliğinide kullanarakta kolay bir şekilde bulunur fakat burada yığın bir veriden bahsediyoruz yani çoklu kombinasyon yapmamız gereken bir arama.....

Bu durumda A sütununun önüne bir sütun ekliyoruz.

Bu sütunu boş bırakmadan aşağıya kadar dolduruyoruz bunun sebebi de döngü kullanacağımızdan dolayı...

Sonra aşağıdaki kodu VBA kod sayfasına yazıyoruz.

ÖNEMLİ AÇIKLAMALAR:
like uygulaması büyük küçük karakter ayırımı yapmaktadır. ayrıca for satırında yer alan 68 rakamını sütun sayısı kadar azaltıp arttırabiliriniz.

Sub DENEME()
    Dim i As Integer
    Application.ScreenUpdating = False
    Range("A2").Select
    Do While Not IsEmpty(ActiveCell)
        For i = 1 To 68
'buradaki 68 rakamını sütun sayısı kadar arttırıp azaltabilirsiniz.
           If ActiveCell.Offset(0, i).Value Like "*acemi*" Then
'burada acemi yerine aramak istediğiniz veriyi yazınız.
              DoEvents
              ActiveCell.Offset.Value = "x"
          End If
       Next i
     ActiveCell.Offset(1, 0).Select
    Loop
    Application.ScreenUpdating = True
    MsgBox "işlem bitti"
End Sub


işlemi çalıştırdıktan sonra filitre uygulayıp A sütunundaki x leri süzdüğünüzde istemiş olduğunuz verileri bulabilirsiniz...