Metni Satırlara Dönüştür

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Arkadaşlar aşağıdaki 1.kodlar ile istediğim verilerin sonuna bir sayfada / işareti koyup ardından başka bir sayfada 2. kodları çalıştırıyorum


1.kodlar
Kod:
Sub Degistir()
'
' Makro1 Makro
' Makro Hsayar tarafından 10.01.2008 tarihinde kaydedildi.
'

'
    Cells.Replace What:="Caddesi", Replacement:="Caddesi/", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False
    Cells.Replace What:="Sokağı", Replacement:="Sokağı/", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False
    Cells.Replace What:="Kümesi", Replacement:="Kümesi/", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False
    Cells.Replace What:="Meydanı", Replacement:="Meydanı/", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False
        MsgBox "bitti"
    'Cells.Replace What:="   ", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub
2.KODLAR
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
'zafer/excel.web.tr uyarlama hsayar
If Intersect(Target, [I1:I65536]) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub

   sonsatır = [Q65536].End(3).Row + 1

'MsgBox sonsatır
cumledeki_degerler = Split(Target.Value, "/")
For i = 0 To UBound(cumledeki_degerler)
'Cells(i + 3, 2) = cumledeki_degerler(i)
Cells(sonsatır + i, "Q") = cumledeki_degerler(i)
Cells(sonsatır + i, "K") = Cells(Target.Row, "A")
Cells(sonsatır + i, "L") = Cells(Target.Row, "B")
Cells(sonsatır + i, "M") = Cells(Target.Row, "C")
Cells(sonsatır + i, "N") = Cells(Target.Row, "D")
Cells(sonsatır + i, "O") = Cells(Target.Row, "E")
Cells(sonsatır + i, "P") = Cells(Target.Row, "F")
Next
End Sub
cumledeki_degerler = Split(Target.Value, "/") görüldüğü üzere deyimler diziye / karakterine göre alınıyor peki "caddesi", "sokağı","meydanı" gibi diğer söz deyimlerinin hepsiyle bu iş olmazmı yani degistir makrosunu devre dışı bırakacağız.
çünkü karakter uzunluğu 600 leri geçince formul çok uzun deyip hata veriyor
ama bendeki karakter uzunlukları şu andaki en uzun 2119, ortalama ise 1075,.. bilmem kaç
gire içine 3 veya 4 böl kollarım ağrıdı

saygılarımla
 
Son düzenleme:
Üst