Belli yere kadar silme

Katılım
4 Eylül 2007
Mesajlar
85
Excel Vers. ve Dili
eXCELL 2007
Merhaba arkaşlar. Elimde bazı düzeltilmesi gereken bilgiler var. Saolsun bu konuda bir çok yardımı bu forumdan aldım. Şimdi manuel olarak uğraştığım bir işlem bu işi tek tek yapmam çok zamanımı alıyor. Belki buradaki arkaşlar bir fikir verir diyerekten buraya yazma gereksinimi hissettim.

Şimdi elimdeki bilgi şu şekilde.

-----------A------------
1-EDEBİYAT | ŞİİR | CUMHURİYET VE GÜNÜMÜZ ŞİİRİ
2-EDEBİYAT | ŞİİR | CUMHURİYET VE GÜNÜMÜZ ŞİİRİ
3-EDEBİYAT | ŞİİR | CUMHURİYET VE GÜNÜMÜZ ŞİİRİ
4-EDEBİYAT | ŞİİR | ŞİİR ÜZERİNE
5-EKONOMİ VE İŞLETME | İŞLETME - MUHASEBE - MALİYE
6-GENEL
7-GENEL
8-SANAT - MİMARLIK | SANAT | RESİM - HEYKEL
9-EDEBİYAT | ŞİİR | CUMHURİYET VE GÜNÜMÜZ ŞİİRİ
10-EDEBİYAT | HİKAYE/ÖYKÜ - MASAL
11-EDEBİYAT | ŞİİR | CUMHURİYET VE GÜNÜMÜZ ŞİİRİ
12-EDEBİYAT

Ben bu bilgileri şu şekle getirmek istiyorum.

-----------A------------
1-ŞİİR | CUMHURİYET VE GÜNÜMÜZ ŞİİRİ
2-ŞİİR | CUMHURİYET VE GÜNÜMÜZ ŞİİRİ
3-ŞİİR | CUMHURİYET VE GÜNÜMÜZ ŞİİRİ
4-ŞİİR | ŞİİR ÜZERİNE
5-İŞLETME - MUHASEBE - MALİYE
6-GENEL
7-GENEL
8-SANAT | RESİM - HEYKEL
9-ŞİİR | CUMHURİYET VE GÜNÜMÜZ ŞİİRİ
10-HİKAYE/ÖYKÜ - MASAL
11-ŞİİR | CUMHURİYET VE GÜNÜMÜZ ŞİİRİ
12-EDEBİYAT

Bu işlemi pratik şekilde yapabilicek bir makro biliyormusunuz. Şimdiden teşekkür ederim
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,680
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Bu şekilde mesajınıza örnek görünümü yazmak yerine örnek dosya eklerseniz çözüme gitmek dahada kolaylaşacaktır.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,474
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Bir denemek istedim. Sayın Korhan Ayhan'ın dediği gibi örnek dosya olsa idi daha çabuk çözüme gidilirdi.

Kod:
Sub Duzenle()
Application.ScreenUpdating = False
For i = 1 To [A65536].End(3).Row
Parcala = Split(Cells(i, "A"), "|")
Cells(i, "A") = ""
If UBound(Parcala) > 0 Then
For j = 1 To UBound(Parcala)
Cells(i, "A") = Trim(Cells(i, "A") & Parcala(j))
Next j
Else
Cells(i, "A") = Parcala(0)
End If
Next i
MsgBox "İşlem Bitmiştir...."
Application.ScreenUpdating = True
End Sub
 
Son düzenleme:
Katılım
4 Eylül 2007
Mesajlar
85
Excel Vers. ve Dili
eXCELL 2007
Öncellikle bu kadar ilgili olmanızdan ötürü inanın çok mutlu oldum. Allah razı olsun. Örnek dosya vedim o konuda hatalıyım hemen ekliyorum.
sayfa-1 de işlenmemiş hali görünüyor sayfa-2 de ise olmasını istediğim şekil.

Yani benim istediğim

7-GENEL
8-SANAT - MİMARLIK | SANAT | RESİM - HEYKEL
9-EDEBİYAT | ŞİİR | CUMHURİYET VE GÜNÜMÜZ ŞİİRİ
10-EDEBİYAT | HİKAYE/ÖYKÜ - MASAL
11-EDEBİYAT | ŞİİR | CUMHURİYET VE GÜNÜMÜZ ŞİİRİ

bu metnin | işareti ile ayrılmış olanların en başandıki kısmın silinmesi yani
11-EDEBİYAT | ŞİİR | CUMHURİYET VE GÜNÜMÜZ ŞİİRİ bu hücrenin şu şekli almasını istiyorum 11-ŞİİR | CUMHURİYET VE GÜNÜMÜZ ŞİİRİ

ilginiz için tekrardan çok teşekkür ediyorum.
 
Son düzenleme:

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,474
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Dosyayı inceleyiniz.

Kod:
Sub Duzenle()
Application.ScreenUpdating = False
For i = 2 To [A65536].End(3).Row
    Parcala = Split(Cells(i, "A"), "|")
    Cells(i, "A") = ""
    If UBound(Parcala) > 0 Then
        For j = 1 To UBound(Parcala)
            If j = 1 Then
                Cells(i, "A") = Trim(Cells(i, "A") & Parcala(j))
            Else
                Cells(i, "A") = Trim(Cells(i, "A") & " | " & Parcala(j))
            End If
        Next j
    Else
        Cells(i, "A") = Parcala(0)
    End If
Next i
MsgBox "İşlem Bitmiştir...."
Application.ScreenUpdating = True
End Sub
 
Son düzenleme:
Katılım
4 Eylül 2007
Mesajlar
85
Excel Vers. ve Dili
eXCELL 2007
Necdet Yeşertener Hocam çok salosın. Bu yardımın sayesinde 1 günlük işim 5 dk bitti
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,474
Excel Vers. ve Dili
Ofis 365 Türkçe
Güle Güle Kullanınız.
 
Üst