• DİKKAT

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

Bir hücredeki sondan belli karakterleri silmek

Katılım
30 Ağustos 2016
Mesajlar
7
Excel Vers. ve Dili
2016 Türkçe
Öncelikle herkese merhaba,

bir konuda yardımınıza ihtiyacım var,
Bir excel dosyasında belli bir sayfanın belli bir satırının belli bir hücresinde bulunan

234, 245, 123, 523, 952, 0, 0, 0, 0

gibi değerler olduğunu düşünelim.

Ben bir düğme yapmak istiyorum. o düğmeye tıklayınca o hücredeki , 0 (virgül+boşluk+0) değerlerini silsin yine aynı yere üzerine yazsın istiyorum.

yani sonuç olarak şöyle bir şey olmalı

234, 245, 123, 523, 952

nasıl bir makro atamam lazım?

eğer önemli ise, sıfır değerleri hep sonda oluyor, diğer rakamlar hiç bir zaman sıfır ile başlamıyor.

buraya kadar işin aslında büyük kısmı.

bazen de aralarda <Null> değeri olabiliyor. bunu da aynı makro ile ayıklamam mümkün mü?

Örnek olarak;

234, 245, 123, <Null>, 523, 952, 0, 0, 0, 0

yukarıdakini

234, 245, 123, 523, 952

buna dönüştürmek mümkün mü?

<Null> un olacağı yer sabit değil. Her yerde çıkabiliyor. Hiç çıkmayada biliyor.

Yardımcı olabilirseniz çok memnun olurum.

Excel 2013 türkçe kullanmaktayım.
 
Cepten baktığımdan makro ve formülle cevap veremiyorum. İşiniz acilde Bul/Değiştir özelliği ile yapabilirsiniz.

CTRL+H ile menüyü açın, aranan değere , 0 yazın, yeni değeri boş bırakın ve tümünü değiştir deyin. Aynı işlemi null için yapın.

İsterseniz bu işlemi yapmadan önce makro kaydetmeyi açabilir ve makronun oluşmasını sağlayabilirsiniz.
 
İstediğim sonuca makro kaydetme öneriniz ile başarı ile ulaştım. Çok teşekkür ederim.

Peki o virgüllü değerler arasından yinelenenleri kaldırmak mümkün mü acaba? Ona nasıl bir makro gerek?
 
Ne istediğinizi anlamadım maalesef. Örnekle açıklar mısınız?
 
Tabiki,

hücrede şunlar var diyelim

5, 6, 7, 34, 65, 2, 5, 6, 6, 6, 5

bunu hücredeki tekrarlananları temizleyip şuna çevirmek;

5, 6, 7, 34, 65, 2

Bir de şöyle bir sorun oldu şu an :) makroları kaydediyorum ve çalışıyor. Exceli kapatıp açtığımda siliniyor. Bu neden olur ki.
 
Yinelemeye şu anda cevap veremem. Aklıma önce sütunlara dönüştürüp, sonra yinelenenleri kaldırıp son olarak kalanları tekrar birleştirmek geliyor.

Makroların silinmemesi için 2007 ve sonraki versiyonlarda Makro İçerebilen Excel Dosyası olarak kaydetmelisiniz.
 
Yinelenenleri kaldırmayla ilgili bahsettiğim şekilde aşağıdaki kodları oluşturdum. Kodlarda K ve M sütunlarını ve M'den sonraki sütunları geçici olarak kullandım. Sizde o sütunlar doluysa daha sağdaki boş sütunlara göre değiştirmeniz gerekir:
Kod:
Sub sadeleştirme()
    son = Cells(Rows.Count, "A").End(3).Row
    Range("A1:A" & son).Copy: [[B][COLOR="Red"]M1[/COLOR][/B]].PasteSpecial Paste:=xlValues
    Range("[COLOR="red"][B]M1:M[/B][/COLOR]" & son).TextToColumns Destination:=Range("[COLOR="red"][B]M1[/B][/COLOR]"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
        Semicolon:=False, Comma:=True, Space:=True, Other:=False, TrailingMinusNumbers:= _
        True
    
    For i = 1 To son
        son = Cells(i, Columns.Count).End(xlToLeft).Column
        Range(Cells(i, "[COLOR="red"][B]M[/B][/COLOR]"), Cells(i, son)).Copy: [[B][COLOR="Blue"]K1[/COLOR][/B]].PasteSpecial Paste:=xlValues, Transpose:=True
        sons = Cells(Rows.Count, "[COLOR="blue"][B]K[/B][/COLOR]").End(3).Row
        Range("$[COLOR="blue"][B]K$1:$K[/B][/COLOR]$" & sons).RemoveDuplicates Columns:=1, Header:=xlNo
        Cells(i, "A").ClearContents
        sonk = Cells(Rows.Count, "[COLOR="blue"][B]K[/B][/COLOR]").End(3).Row
        For j = 1 To sonk
            If j = 1 Then
                Cells(i, "A") = Cells(j, "[COLOR="blue"][B]K[/B][/COLOR]")
            Else
                Cells(i, "A") = Cells(i, "A") & ", " & Cells(j, "[COLOR="blue"][B]K[/B][/COLOR]")
            End If
        Next
        Range(Cells(i, "[COLOR="red"][B]M[/B][/COLOR]"), Cells(i, son)).ClearContents
        Range("[COLOR="blue"][B]K1:K[/B][/COLOR]" & sonk).ClearContents
    Next
    [A1].Select
End Sub
 
Geri
Üst