• DİKKAT

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

yazı ayırma

Katılım
5 Eylül 2007
Mesajlar
1,247
Excel Vers. ve Dili
ofis 2010
iyi akşamlar, örnekteki ismi makro ile ayırmak istiyorum. formülle ayırabiliyorum ama makro ile mümkünse daha pratik olacak.
 

Ekli dosyalar

  • makro_ayirma.jpg
    makro_ayirma.jpg
    64.5 KB · Görüntüleme: 23
  • Makro_Ayirma.xlsx
    Makro_Ayirma.xlsx
    9.1 KB · Görüntüleme: 13
Son düzenleme:
Merhaba.

Anladığım kadarıyla A sütunundaki veriler standart bir yapıya sahip ve
20'nci karakterden itibaren olan kısmı ayırmak istiyorsunuz.
Bunun için aşağıdaki kod'u kullanabilirsiniz.
Sonucun "B" sütununa yazdırılacağını varsaydım.
.
Kod:
[B]Sub ISIMLER()[/B]
For satir = 2 To Cells(Rows.Count, "A").End(3).Row
    If Cells(satir, "A") <> "" And Mid(Cells(satir, "A"), 19, 1) = " " Then _
    Cells(satir, [B][COLOR="Red"]"B"[/COLOR][/B]) = Mid(Cells(satir, "A"), 20, Len(Cells(satir, "A")) - 19)
Next
[B]End Sub[/B]
 
sorunsuz çalışıyor

Merhaba.

Anladığım kadarıyla A sütunundaki veriler standart bir yapıya sahip ve
20'nci karakterden itibaren olan kısmı ayırmak istiyorsunuz.
Bunun için aşağıdaki kod'u kullanabilirsiniz.
Sonucun "B" sütununa yazdırılacağını varsaydım.
.
Kod:
[B]Sub ISIMLER()[/B]
For satir = 2 To Cells(Rows.Count, "A").End(3).Row
    If Cells(satir, "A") <> "" And Mid(Cells(satir, "A"), 19, 1) = " " Then _
    Cells(satir, [B][COLOR="Red"]"B"[/COLOR][/B]) = Mid(Cells(satir, "A"), 20, Len(Cells(satir, "A")) - 19)
Next
[B]End Sub[/B]

teşekkür ederim, istediğim gibi olmuş bir şey ilave etmek istiyorum. bu işlem satış faturalarında sabit oluyor, bazen alışlarda da kullanmam gerekiyor o durumda fatura numaraları bazen 6 karakter değilde daha az olabiliyor. Yani 21.05.2017 A.12 (sayı 2 karakter) , 21.05.2017 A.123456 (sayı 6 karakter) gibi böyle durumda rakamdan sonraki yazıları ayırmak gibi bir makro' da olsa onuda gerektiği zaman kullanmak isterdim. Tekrar teşekkürler.
 
Son düzenleme:
Selamlar,
Aşağıdaki kodu kullanabilirsiniz.
Kod:
Sub Ayir()
sonsat = Cells(Rows.Count, 1).End(3).Row
For x = 2 To sonsat
Cells(x, 2) = Split(Cells(x, 1), " ")(1)
Next
MsgBox "İşlem tamamlandı.", vbOKOnly, "l e u m r u k"
End Sub
 
makro

Selamlar,
Aşağıdaki kodu kullanabilirsiniz.
Kod:
Sub Ayir()
sonsat = Cells(Rows.Count, 1).End(3).Row
For x = 2 To sonsat
Cells(x, 2) = Split(Cells(x, 1), " ")(1)
Next
MsgBox "İşlem tamamlandı.", vbOKOnly, "l e u m r u k"
End Sub

makro çalışıyor, ancak yanlış anlama olmuş, bana Fatura numaralarından sonraki İsim Soy isim yazan kısım gerekiyor. teşekkürler
 
Şu şekilde olabilir:
Kod:
Sub Ayir()
sonsat = Cells(Rows.Count, 1).End(3).Row
For x = 2 To sonsat
deg = Split(Cells(x, 1), " ")(1) & " "
Cells(x, 2) = Split(Cells(x, 1), deg)(1)
Next
MsgBox "İşlem tamamlandı.", vbOKOnly, "l e u m r u k"
End Sub
 
sorunsuz çalışıyor

Şu şekilde olabilir:
Kod:
Sub Ayir()
sonsat = Cells(Rows.Count, 1).End(3).Row
For x = 2 To sonsat
deg = Split(Cells(x, 1), " ")(1) & " "
Cells(x, 2) = Split(Cells(x, 1), deg)(1)
Next
MsgBox "İşlem tamamlandı.", vbOKOnly, "l e u m r u k"
End Sub

Teşekkürler, sorunsuz çalışıyor
 
Tekrar merhaba.

Alternatif olsun.
Kırmızı renklendirdiğim 2 sayısı hücredeki KAÇINCI BOŞLUK KARAKTERİnden sonrasının alınacağını belirtiyor.
.
Kod:
Sub [B][COLOR="red"]IKINCI[/COLOR][/B]_BOSLUKTAN_SONRASINI_AL()
For satir = 2 To Cells(Rows.Count, "A").End(3).Row
    Cells(satir, "B") = Evaluate("=MID(A" & satir & ",FIND(""|"",SUBSTITUTE(A" & satir & ","" "",""|"",[B][COLOR="Red"][SIZE="4"]2[/SIZE][/COLOR][/B]),1)+1,255)")
Next
End Sub
 
makro

Tekrar merhaba.

Alternatif olsun.
Kırmızı renklendirdiğim 2 sayısı hücredeki KAÇINCI BOŞLUK KARAKTERİnden sonrasının alınacağını belirtiyor.
.
Kod:
Sub [B][COLOR="red"]IKINCI[/COLOR][/B]_BOSLUKTAN_SONRASINI_AL()
For satir = 2 To Cells(Rows.Count, "A").End(3).Row
    Cells(satir, "B") = Evaluate("=MID(A" & satir & ",FIND(""|"",SUBSTITUTE(A" & satir & ","" "",""|"",[B][COLOR="Red"][SIZE="4"]2[/SIZE][/COLOR][/B]),1)+1,255)")
Next
End Sub

iyi denk geldi,başka işlemde iki makro ile kullandığım işlem bu makro ile tek inmiş oldu. Teşekkürler.
 
Geri
Üst