• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

kelime için arama

Katılım
13 Eylül 2005
Mesajlar
78
arkadaşlar

örnek :

excel123graaaa
excel12asgradad

bu şekilde olan hücrelerde gr den önceki bölümü nasıl ayırıp başka bir hücreye yapıştırabilirm. makro ile

excel123gr
excel12asgr
 
Selamlar,

Verileriniz A sütununda olduğunu varsayarsak aşağıdaki kodu kullanabilirsiniz. Yeni listelemeyi B sütununa yapar.

Kod:
Sub AKTAR()
    Set WF = WorksheetFunction
    [B:B].ClearContents
    For X = 1 To [A65536].End(3).Row
    If Cells(X, 1) <> "" Then
    Cells(X, 2) = Mid(Cells(X, 1), 1, WF.Search("GR", Cells(X, 1), 1) + 1)
    End If: Next
    Set WF = Nothing
    MsgBox "&#304;&#350;LEM&#304;N&#304;Z TAMAMLANMI&#350;TIR.", vbInformation
End Sub
 
Bende u&#287;ra&#351;m&#305;&#351;t&#305;m ama Say&#305;n COST_CONTROL &#231;ok h&#305;zl&#305;

Verilerin A s&#252;tununda oldu&#287;u varsay&#305;m&#305;na ve ay&#305;rma i&#351;inin de B s&#252;tununa yaz&#305;laca&#287;&#305; varsay&#305;larak;

Kod:
Public Sub Bul_Yaz()
On Error Resume Next
For i = 1 To [a65536].End(3).Row
    Bul = 0
    Bul = Application.WorksheetFunction.Find("gr", Cells(i, "A"))
    If Bul > 0 Then
        Cells(i, "B") = Left(Cells(i, "A"), Bul + 2)
    End If
Next i
End Sub
 
arkada&#351;lar

&#246;rnek :

excel123graaaa
excel12asgradad

bu &#351;ekilde olan h&#252;crelerde gr den &#246;nceki b&#246;l&#252;m&#252; nas&#305;l ay&#305;r&#305;p ba&#351;ka bir h&#252;creye yap&#305;&#351;t&#305;rabilirm. makro ile

excel123gr
excel12asgr
Merhaba.
Say&#305;n &#220;stadlar&#305;m yapm&#305;&#351; ama benimkide ba&#351;ka bir &#231;&#246;z&#252;m.:cool:
Sayfa1'de A s&#252;tunundaki verileri ay&#305;r&#305;p Bs&#252;tununa yaz&#305;yor.
Kodlar a&#351;a&#287;&#305;dad&#305;r.
&#304;yi &#231;al&#305;&#351;malar.:cool:
Kod:
Sub ayir()
Dim sonsat As Long, i As Long, sat As Long
Dim harf As String, kelime As String
Sheets("Sayfa1").Select
Range("B:B").ClearContents
sonsat = Cells(65536, "A").End(xlUp).Row
sat = 1
For i = 1 To sonsat
    If Cells(i, "A").Value <> "" Then
        For k = 1 To Len(Cells(i, "A").Value)
            harf = Mid(Cells(i, "A").Value, k, 1)
            If harf = "g" And Mid(Cells(i, "A").Value, k + 1, 1) = "r" Then
                Cells(sat, "B").Value = kelime
                sat = sat + 1
                harf = "": kelime = "": Exit For
                Else
                kelime = kelime & harf
            End If
        Next k
    End If
Next i
MsgBox "&#304;&#350;LEM TAMAM"
End Sub
 
Son düzenleme:
Selamlar benimde benzer bir sorunum var şöyleki,

A1
28,06,10/002404/TEKİN ÖZBAY
03,06 492067 HSP İŞ MAKİNALAR
13.04/272409 İTFAYE DAİRE BSK

Yukarıdaki kümeden hücrelerin sağına, sadece isimleri almak istiyorum. Bunun için bir makro lazım. Sadece harfleri alan bir makro olabilir aslında.

Teşekkürler
 
Aşağıdaki kodu deneyin.

Kod:
Sub harfayir()
Set deg = CreateObject("VBscript.RegExp")
deg.Pattern = "[^a-zA-Z\çÇ\ğĞ\ıİ\öÖ\şŞ\üÜ ]"
deg.Global = True
For a = 1 To [a65536].End(3).Row
Cells(a, "b") = Trim(deg.Replace(Cells(a, "a"), ""))
Next
Set deg = Nothing
End Sub
 
Aşağıdaki kodu deneyin.

Kod:
Sub harfayir()
Set deg = CreateObject("VBscript.RegExp")
deg.Pattern = "[^a-zA-Z\çÇ\ğĞ\ıİ\öÖ\şŞ\üÜ ]"
deg.Global = True
For a = 1 To [a65536].End(3).Row
Cells(a, "b") = Trim(deg.Replace(Cells(a, "a"), ""))
Next
Set deg = Nothing
End Sub


Sonuç mükemmel teşekkürler..
 
Geri
Üst