• DİKKAT

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

Hücredeki verilerin sadece ilk karakterlerini almak

Merhaba.
Yanlış düşünmüyorsem aşağıdaki kod istenileni yapacaktır.
C sütununa yazılacak değerlerde BOŞLUK karakteri olabilecekse kırmızı renklendirdiğim kısmı silerek kullanın.
Rich (BB code):
Sub PARCAAL_BRN()
For sat = 2 To [A1].End(xlDown).Row
    son = 255: satt = Cells(Rows.Count, 1).End(3).Row + 1
    For sut = 1 To 3
        If sut = 1 Then: Cells(satt, sut) = Replace(Replace(Split(Cells(sat, 1), ",")(sut), """", """"), """", "")
        If sut = 2 Then: Cells(satt, sut) = Replace(Replace(Split(Cells(sat, 1), ",")(sut), """", """"), """", "")
        If sut = 3 Then
            For k = 5 To son
                If Mid(Split(Cells(sat, 1), """,""")(k), 1, 1) = Chr(32) Then: k = k + 1
                degx = degx & Mid(Split(Cells(sat, 1), """,""")(k), 1, 1)
            Next: Cells(satt, sut) = Replace(degx, " ", ""): degx = Empty
        End If
    Next
Next
End Sub
 
Sayın Ömer Baran Hocam,
İlginize çok teşekkür ederim. Veriler 1. sütunda olunca çok güzel çalışıyor. Ama örneğe uyarlayamadım. Yardımcı olursanız sevinirim.
Saygılarımla
 

Ekli dosyalar

Bir de aşağıdaki gibi deneyin isterseniz.
Örneğin son örnek belgenizdeki ilk metinde (AA21), kritere göre alınacak 116 ve 137'inci veri BOŞ yani ilgili kısım şöyle ......."","""",""A.....
Bu durumda ilgili kısım için alınacak veri yoksa aşağıdaki kod'da mavi kısımları silin, bu veri için " karakteri eklemek isterseniz kırmızı kısmı silin.
Koddaki 5 sayısı parçalama kriteri olan "","" uzunluğu.
Rich (BB code):
Sub PARCAAL_BRN()
ilksat = 21: sutun = "AA"
sonsat = Cells(Rows.Count, sutun).End(3).Row
adet = (Len(Cells(ilksat, sutun)) - Len(Replace(Cells(ilksat, sutun), """"",""""", ""))) / 5
For sat = ilksat To sonsat
    For sut = 2 To 4
        If sut = 2 Then: Cells(sat, sut) = Split(Cells(sat, "AA"), """"",""""")(1)
        If sut = 3 Then: Cells(sat, sut) = Split(Cells(sat, "AA"), """"",""""")(2)
        If sut = 4 Then
            For k = 5 To adet
                deg = Mid(Split(Cells(sat, "AA"), """"",""""")(k), 1, 1)
                If deg = "" Then deg = " "
                degx = degx & deg
                Next: Cells(sat, sut) = degx: degx = Empty
        End If
    Next
Next
End Sub
 
Son düzenleme:
Sayın Ömer Baran Hocam,
İlginize çok teşekkür ederim. Olmayan verinin de tabii ki anlamı var, o nedenle onun boşluk olması gerekir. [B]If deg = "" Then degx = degx & " "[/B] bu haliyle tam istediğim gibi. Ben 5 sayısının anlamını doğru tutturamamışım.
Saygılarımla
 
Bir önceki cevabımı güncelledim yeni halini kullanabilirsiniz.
 
Teşekkür ederim. Kırmızı yazılı kısmı kaldırmışsınız sanırım.
Saygılarımla
 
Geri
Üst