• DİKKAT

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

Virgülden Sonraki veriyi bir alt satıra nasıl alabilirim?

Katılım
30 Ocak 2007
Mesajlar
9
Excel Vers. ve Dili
ms excel xp
Arkadaşlar,

Virgülden Sonraki veriyi bir alt satıra nasıl alabilirim? Örneğin;

qwe ASD,ECB,GHF,HNJ,MNK,PLK,BHJ,MER,MAS,NES
qwe ASD,ECB,GHF,HNJ,MNK,PLK,BHJ,MER,MAS,NES
ght DHM,GFT,KHH,MNB,LKJ,253,653,953,632,953,120,215,685,236


Böyle bir tablom var ve 2. sütundaki verileri bir alt satıra nasıl alabilirim?

özetle böyle olmasını diliyorum :)

qwe ASD
qwe ECB
qwe GHF
qwe HNJ
qwe MNK
qwe PLK
qwe BHJ
qwe MER
qwe MAS
qwe NES

işyerinde olduğumdan dolayı dosya ekleyemiyorum.

İlgilenen arkadaşlara şimdiden teşekkürler
 
Kod:
Sub Emre()
    Dim i As Integer, a As Integer
    For i = 1 To Range("C65536").End(3).Row
        ayır = Split(Replace(Cells(i, 2), " ", ","), ",")
        For a = 1 To UBound(ayır)
            Range("C65536").End(3)(2, 1) = ayır(a)
            Range("B65536").End(3)(2, 1) = ayır(0)
        Next a
    Next i
    i = Empty: a = Empty
End Sub
 

Ekli dosyalar

Muart Bey,

İlginiz için öncelikle teşekkür ederim. Ben istediğimi tam anlatamadım kusuruma bakmayın. Örnek dosya nihayet ekleyebildim.

Örnek dosyadaki AA sütünundaki virgülden sonraki veriyi bir alt satıra yazmasını diliyorum. Böylelikle düşeyara komutunu kullanabileyim.

Ekli dosyayı görüntüle ÖRNEK.rar
 
AA sütunundaki virgülle ayrılmış her ürünü, diğer bilgileri ile birlikte alt alta sıralamak mı istiyorsunuz ?
Örneğin; Virgül ile ayrılmış 6 ürün varsa, her ürünü alt alta yazıp A:Z aralığındaki tüm bilgileri de ürün sayısı kadar yazılacak.
Olay bu mudur ?
 
Biraz zor da olsa ağzınızdan laf alabildim. ;)

Bakıp dönerim birazdan..
 
Şu kodları deneyiniz;

Kod:
Sub Emre()
    Dim i As Integer, a As Integer, ayır As Variant
    For i = 2 To Range("AA65536").End(3).Row
        ayır = Split(Cells(i, "AA"), ",")
        For a = 1 To UBound(ayır)
            Range("AA65536").End(3)(2, 1) = ayır(a)
        Next a
    Range("A" & i & ":Z" & i).AutoFill Destination:=Range( _
    "Tablo_TAHAKKUK_LOG.accdb[[SIRA]:[ACIKLAMA]]"), Type:=xlFillCopy
    Range("Tablo_TAHAKKUK_LOG.accdb[[SIRA]:[ACIKLAMA]]").Select
    Next i
    i = Empty: a = Empty: ayır = Empty
End Sub
 
Murat Bey,

AA sütunundaki ilk 11 karakteri almıyor. Ayrıca zor da olsa belirttiğim :) diğer bilgileri bir sonraki satıra almıyor.

ve son olarak sadece ilk satırdaki veriler için çalışmakta.
 
AA sütunundaki ilk 11 karakter derken neyi kastettiğiniz anlamadım.
4 satırda aynı bilgiler içerdiği için ilk satırı bırakıp diğerlerini sildim. Siz de tek satır bırakarak deneyin.

Ya da sizdeki gerçek dosyanızı ekleyin ona göre çözüm üreteyim.
 
Örnek üzerinden anlatacak olursam ilk 11 karakter ASDF1234567 bu veriyi atlayıp diğer verilerden başlyor. Dediğiniz gibi tek satırda denedim evet oldu ama umarım çoklu satırda sıkıntı yaratmaz :)
 
İlk virgülden öncekini de almak için;

Next i satırından önce bu satır ilave edebilirsiniz;
Kod:
Cells(i, "AA") = ayır(0)
 
Örnek üzerinden anlatacak olursam ilk 11 karakter ASDF1234567 bu veriyi atlayıp diğer verilerden başlyor. Dediğiniz gibi tek satırda denedim evet oldu ama umarım çoklu satırda sıkıntı yaratmaz :)

Kod ya da fonksiyon yazmaya gerek var mı?

Sütunu seçin, Ctrl+H bul ve değiştirden, aranan virgül, yerine konacak olan Alt+010 Tümünü değiştir.

Sonra Metni kaydır deyin olsun bitsin. Bu arada sütun genişliğini de daraltın.
 
Kod ya da fonksiyon yazmaya gerek var mı?

Sütunu seçin, Ctrl+H bul ve değiştirden, aranan virgül, yerine konacak olan Alt+010 Tümünü değiştir.

Sonra Metni kaydır deyin olsun bitsin. Bu arada sütun genişliğini de daraltın.

Necdet Bey,

ilgiliniz için teşekkürler değiniz gibi malesef olmuyor çünkü AA sütunundaki bilgilere satır satır ihtiyacım var. Dediğiniz gibi yaptığım vakit hepsini tek satırda sıralıyor.

Murat Bey,

Tek satırda kod arada hata verse de çalışmakta ancak çoklu satırlarda isyana bağlıyor :)

Uğraşlarınız için teşekkürler
 
Geri
Üst