Formulü Sonsuza Dek Devam Ettirme

Katılım
15 Haziran 2016
Mesajlar
17
Excel Vers. ve Dili
excel 2011
Merhaba, benim bi sorum var.
=A1&","&A2&","&A3&","&A4
Şu formülü nasıl istediğim satıra kadar devam ettirebilirim. Mesela A10000 bine kadar devam etmesini istiyorum.
Teşekkürler
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,634
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba,

Yerleşik excel fonksiyonları ile yapamazsınız.
Kullanıcı tanımlı fonksiyonlarla yani makro ile yapabilirsiniz.
Forumda hücreleri birleştirme olarak arama yapın.
 
Katılım
15 Haziran 2016
Mesajlar
17
Excel Vers. ve Dili
excel 2011
Excel

Merhaba,

Yerleşik excel fonksiyonları ile yapamazsınız.
Kullanıcı tanımlı fonksiyonlarla yani makro ile yapabilirsiniz.
Forumda hücreleri birleştirme olarak arama yapın.
Acaba işe yarar konunun linkini verebilir misiniz. Forumda bulamadım da.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba,
Aramıza hoşgeldiniz.
Siteden elde ettiğim ekli kodu bir modüle kopyalayınız
Kod:
Function birleştirme(hedef As Range, Optional ayırac As String = ",") As String
    Dim alan As Range
    Dim sonuc As String
      For Each alan In hedef
        If alan.Value <> "" Then
            sonuc = sonuc & ayırac & alan.Value
        End If
    Next alan
    If sonuc <> "" Then
        sonuc = Mid(sonuc, Len(ayırac) + 1)
    End If
    birleştirme = sonuc
End Function
çalışma şekli ise,
A5:A11 arasındaki hücrelerde olanları A1'e
Kod:
=birleştirme(A5:A11)
ifadesiyle alacaktır
Bu vesile ile bu KTF 'yi yazan adını bilmediğim üstad arkadaşa teşekkür eder saygılar sunarım
Kolay gelsin
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,634
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba,

Tag'daki KTF'yi boş bir modüle yapıştırın.

=birlest(birleştirilecek alan ; kullanılacak imleç)

Kod:
Function birlest(hucre As Range, Optional imlec As String = "") As String

For Each alan In hucre

k = k & alan & imlec

Next alan

If imlec = "" Then
birlest = k
Else
birlest = VBA.Left(k, VBA.Len(k) - 1)
End If
End Function
 
Katılım
15 Haziran 2016
Mesajlar
17
Excel Vers. ve Dili
excel 2011
Merhaba,
Aramıza hoşgeldiniz.
Siteden elde ettiğim ekli kodu bir modüle kopyalayınız
Kod:
Function birleştirme(hedef As Range, Optional ayırac As String = ",") As String
    Dim alan As Range
    Dim sonuc As String
      For Each alan In hedef
        If alan.Value <> "" Then
            sonuc = sonuc & ayırac & alan.Value
        End If
    Next alan
    If sonuc <> "" Then
        sonuc = Mid(sonuc, Len(ayırac) + 1)
    End If
    birleştirme = sonuc
End Function
çalışma şekli ise,
A5:A11 arasındaki hücrelerde olanları A1'e
Kod:
=birleştirme(A5:A11)
ifadesiyle alacaktır
Bu vesile ile bu KTF 'yi yazan adını bilmediğim üstad arkadaşa teşekkür eder saygılar sunarım
Kolay gelsin
Malesef bu makro kodunu nereye yapıştıracağımı bilmiyorum. Yardımcı olabilirseniz sevinirim
 
Katılım
15 Haziran 2016
Mesajlar
17
Excel Vers. ve Dili
excel 2011
Merhaba,
Aramıza hoşgeldiniz.
Siteden elde ettiğim ekli kodu bir modüle kopyalayınız
Kod:
Function birleştirme(hedef As Range, Optional ayırac As String = ",") As String
    Dim alan As Range
    Dim sonuc As String
      For Each alan In hedef
        If alan.Value <> "" Then
            sonuc = sonuc & ayırac & alan.Value
        End If
    Next alan
    If sonuc <> "" Then
        sonuc = Mid(sonuc, Len(ayırac) + 1)
    End If
    birleştirme = sonuc
End Function
çalışma şekli ise,
A5:A11 arasındaki hücrelerde olanları A1'e
Kod:
=birleştirme(A5:A11)
ifadesiyle alacaktır
Bu vesile ile bu KTF 'yi yazan adını bilmediğim üstad arkadaşa teşekkür eder saygılar sunarım
Kolay gelsin
Şimdi hallettim. Bu kodun kalıcı olmasını nasıl sağlarım. İlla modul açık mı olması lazım
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,634
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Bu kodun bulunduğu excel'i farklı kaydetten excel eklentisi olarak kaydedin.
Dosya>Seçenekler>Eklentiler'den bu dosyayı excel'in içine kurulumunu yapabilirsiniz.
 
Katılım
15 Haziran 2016
Mesajlar
17
Excel Vers. ve Dili
excel 2011
Bu kodun bulunduğu excel'i farklı kaydetten excel eklentisi olarak kaydedin.
Dosya>Seçenekler>Eklentiler'den bu dosyayı excel'in içine kurulumunu yapabilirsiniz.
Peki her bu olayın aynısı ama her hücrenin başı sonuna tırnak koymak istersem nasıl yapabilirim
Örnek: '25','34','45'...................
böyle devam ediyor
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Arkadaş,
Kod:
Function birleştirme(hedef As Range, Optional ayırac As String = ",") As String
satırdaki "," ifadesini "','" şeklinde değiştiriniz.
iyi çalışmalar
 

Korhan Ayhan

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

Kod:
Function KBİRLEŞTİR(Alan As Range, Optional Kriter = ",") As String
    Dim Veri As Range
    For Each Veri In Alan
        If Veri.Value <> "" Then
            If KBİRLEŞTİR = "" Then
                KBİRLEŞTİR = "'" & Veri.Value & "'"
            Else
                KBİRLEŞTİR = KBİRLEŞTİR & Kriter & "'" & Veri.Value & "'"
            End If
        End If
    Next
End Function
 
Katılım
15 Haziran 2016
Mesajlar
17
Excel Vers. ve Dili
excel 2011
Arkadaş,
Kod:
Function birleştirme(hedef As Range, Optional ayırac As String = ",") As String
satırdaki "," ifadesini "','" şeklinde değiştiriniz.
iyi çalışmalar
Çok teşekkürler. Ama bir sorum daha olucak. Şu an bu formülü kullanınca ilk ve son girdiye tırnak işareti eklenmiyor. Makroya bunu nasıl ekleyebiliriz?
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba,
Kod:
=[COLOR="magenta"]"[/COLOR]'[COLOR="magenta"]"&[COLOR="Black"]birleştirme(A1:A11)[/COLOR]&"[/COLOR]'[COLOR="Magenta"]"[/COLOR]
işinizi göreceğini düşünüyorum
Kolay gelsin
 
Katılım
15 Haziran 2016
Mesajlar
17
Excel Vers. ve Dili
excel 2011
Alternatif;

Kod:
Function KBİRLEŞTİR(Alan As Range, Optional Kriter = ",") As String
    Dim Veri As Range
    For Each Veri In Alan
        If Veri.Value <> "" Then
            If KBİRLEŞTİR = "" Then
                KBİRLEŞTİR = "'" & Veri.Value & "'"
            Else
                KBİRLEŞTİR = KBİRLEŞTİR & Kriter & "'" & Veri.Value & "'"
            End If
        End If
    Next
End Function
Merhaba
Ben bu makroda bazı hücrelerin atlanmasını istiyorum. Mesela bazı hücrelerde çift tırnak var. Bu sefer benim tırnaklamam ile karışıyor. O yüzden çift tırnak içeren hücrelerin ayrı bi yerde toplanmasını istiyorum. Bunu nasıl yapabilirim acaba?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,264
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek dosya ekleyebilir misiniz?

Ona göre kodu revize edelim.

Lütfen dosyanızda nasıl sonuç görmek istediğinizi de belirtin.
 
Katılım
15 Haziran 2016
Mesajlar
17
Excel Vers. ve Dili
excel 2011
Örnek dosya ekleyebilir misiniz?

Ona göre kodu revize edelim.

Lütfen dosyanızda nasıl sonuç görmek istediğinizi de belirtin.
http://s4.dosya.tc/server2/37gjtn/TEST2.rar.html

Dosyayı buraya atabildim anca. Bu örnek tabi. Benim istediğim şey; gördüğünüz gibi A sütununda bazı hücrelerde " işareti var. Bu işaret olanların B sütunundaki makrolu yerlere geçmesini istemiyorum. Yani tırnak işareti olan hücreler hatalı olarak görülcek. O yüzden o hücrelerin başka bir yerde hücrede kendi aralarında makroyu gerçekleştirsin istiyorum. Formül olmasa bile en azından başka bi sütunda dizilseler de olur.
Şimdiden teşekkürler
 
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
@Korhan Ayhan ın kodunda değişiklik yaptım.

Asıl veride değişiklik yapmadan, işleme başlamadan önce " ları siliyor.


Kod:
Function birleştirme2(Alan As Range, Optional Kriter = ",") As String
    Dim Veri As Range
    For Each Veri In Alan
        deger = Veri.Value
        deger = Replace(deger, """", "")
        If Veri.Value <> "" Then
            If birleştirme2 = "" Then
                birleştirme2 = "'" & deger & "'"
            Else
                birleştirme2 = birleştirme2 & Kriter & "'" & deger & "'"
            End If
        End If
    Next
End Function
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,264
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdaki fonksiyonları kullanabilirsiniz.

Kod:
Function KBİRLEŞTİR(Alan As Range, Optional Kriter = ",") As String
    Dim Veri As Range
    For Each Veri In Alan
        If Veri.Value <> "" Then
            If InStr(1, Veri.Value, """") = 0 Then
                If KBİRLEŞTİR = "" Then
                    KBİRLEŞTİR = "'" & Veri.Value & "'"
                Else
                    KBİRLEŞTİR = KBİRLEŞTİR & Kriter & "'" & Veri.Value & "'"
                End If
            End If
        End If
    Next
End Function
Kod:
Function EBİRLEŞTİR(Alan As Range, Optional Kriter = ",") As String
    Dim Veri As Range
    For Each Veri In Alan
        If Veri.Value <> "" Then
            If InStr(1, Veri.Value, """") > 0 Then
                If EBİRLEŞTİR = "" Then
                    EBİRLEŞTİR = Veri.Value
                Else
                    EBİRLEŞTİR = EBİRLEŞTİR & Kriter & Veri.Value
                End If
            End If
        End If
    Next
End Function
 
Katılım
15 Haziran 2016
Mesajlar
17
Excel Vers. ve Dili
excel 2011
@Korhan Ayhan ın kodunda değişiklik yaptım.

Asıl veride değişiklik yapmadan, işleme başlamadan önce " ları siliyor.


Kod:
Function birleştirme2(Alan As Range, Optional Kriter = ",") As String
    Dim Veri As Range
    For Each Veri In Alan
        deger = Veri.Value
        deger = Replace(deger, """", "")
        If Veri.Value <> "" Then
            If birleştirme2 = "" Then
                birleştirme2 = "'" & deger & "'"
            Else
                birleştirme2 = birleştirme2 & Kriter & "'" & deger & "'"
            End If
        End If
    Next
End Function

Teşekkürler ama bu kodla çift tırnaklar(sadece tırnak) siliniyor. Ben ise çift tırnaklılar ayrı tutulsun istiyorum. Yani errorler için ayrı bi dizi yapmak istiyorum.
 
Katılım
15 Haziran 2016
Mesajlar
17
Excel Vers. ve Dili
excel 2011
Aşağıdaki fonksiyonları kullanabilirsiniz.

Kod:
Function KBİRLEŞTİR(Alan As Range, Optional Kriter = ",") As String
    Dim Veri As Range
    For Each Veri In Alan
        If Veri.Value <> "" Then
            If InStr(1, Veri.Value, """") = 0 Then
                If KBİRLEŞTİR = "" Then
                    KBİRLEŞTİR = "'" & Veri.Value & "'"
                Else
                    KBİRLEŞTİR = KBİRLEŞTİR & Kriter & "'" & Veri.Value & "'"
                End If
            End If
        End If
    Next
End Function
Kod:
Function EBİRLEŞTİR(Alan As Range, Optional Kriter = ",") As String
    Dim Veri As Range
    For Each Veri In Alan
        If Veri.Value <> "" Then
            If InStr(1, Veri.Value, """") > 0 Then
                If EBİRLEŞTİR = "" Then
                    EBİRLEŞTİR = Veri.Value
                Else
                    EBİRLEŞTİR = EBİRLEŞTİR & Kriter & Veri.Value
                End If
            End If
        End If
    Next
End Function
Çok teşekkürler tam istediğim gibi olmuş. Acaba sırf virgülle ayrılan makroya bunu nasıl uyarlayabiliriz.
 
Üst