Soru Birleştir formülü hakkında

zfr10

Altın Üye
Katılım
5 Şubat 2010
Mesajlar
177
Excel Vers. ve Dili
EXCEL/2016
Altın Üyelik Bitiş Tarihi
09-08-2025
Merhaba,

Yardımcı sütun kullanarak ekteki örnek dosyada olduğu gibi çözüm işinize yarayabilir belki. C2:C500 aralığı sabitse, farklı fonksiyonlara ya da makroya gerek kalmadan çözün üretmiş olursunuz.
Alakan için teşekkür ederim üstad ama benim yapmak istediğim şu şekilde. Sayfa1'de ürünler ve karşısında o ürünlere ait cilt-varak numaraları var. Sayfa2'ye geldiğimde Sayfa1'deki mükerrer ürünleri benzersiz olarak yazıp karşısına o ürüne ait cilt-varak numaralarını tek hücre içine almak istiyorum.
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
501
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
Alakan için teşekkür ederim üstad ama benim yapmak istediğim şu şekilde. Sayfa1'de ürünler ve karşısında o ürünlere ait cilt-varak numaraları var. Sayfa2'ye geldiğimde Sayfa1'deki mükerrer ürünleri benzersiz olarak yazıp karşısına o ürüne ait cilt-varak numaralarını tek hücre içine almak istiyorum.

Konu ilk açıldığı halinden farklı bir yere kaymış bence. Asıl isteneni daha sonra farkettim. Ekteki dosyayı bir incele ve senin ofis sürümüne uygunsa makroyu çalıştır. Sonuçları incele. Kanımca istediğin bu, doğru anlamışsam.
 

Ekli dosyalar

zfr10

Altın Üye
Katılım
5 Şubat 2010
Mesajlar
177
Excel Vers. ve Dili
EXCEL/2016
Altın Üyelik Bitiş Tarihi
09-08-2025
Konu ilk açıldığı halinden farklı bir yere kaymış bence. Asıl isteneni daha sonra farkettim. Ekteki dosyayı bir incele ve senin ofis sürümüne uygunsa makroyu çalıştır. Sonuçları incele. Kanımca istediğin bu, doğru anlamışsam.
Eyvallah üstad. Eline, emeğine sağlık. Canı gönülden teşekkür ederim.
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
501
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
Aşağıdaki satırda olduğu gibi kullanırsan daha mantıklı olacak sanırım,

Veri_Liste = Veri_Liste & " " & s1.Cells(i, "C").Value , bu satırın önceki hali sondan başa doğru işlem yapmaktaydı.


Kod:
Sub Birlestir()

Set s1 = Sheets("Veri")
Set s2 = Sheets("Sonuç")


sonsatir_1 = s1.Cells(Rows.Count, "A").End(3).Row
sonsatir_2 = s2.Cells(Rows.Count, "A").End(3).Row - 1

s2.Range("B2:B" & sonsatir_2).ClearContents




Veri_Liste = ""

For X = 2 To sonsatir_2
For i = 8 To sonsatir_1



If s2.Cells(X, "A") = "" Then
s2.Cells(X, "B") = ""

ElseIf s2.Cells(X, "A") <> "" And s2.Cells(X, "A") = s1.Cells(i, "A") Then
    
    Veri_Liste = Veri_Liste & " " & s1.Cells(i, "C").Value
    
    s2.Cells(X, "B") = Veri_Liste
          
    
End If

Next i
Veri_Liste = ""
Next X

End Sub
 

zfr10

Altın Üye
Katılım
5 Şubat 2010
Mesajlar
177
Excel Vers. ve Dili
EXCEL/2016
Altın Üyelik Bitiş Tarihi
09-08-2025
Aşağıdaki satırda olduğu gibi kullanırsan daha mantıklı olacak sanırım,

Veri_Liste = Veri_Liste & " " & s1.Cells(i, "C").Value , bu satırın önceki hali sondan başa doğru işlem yapmaktaydı.


Kod:
Sub Birlestir()

Set s1 = Sheets("Veri")
Set s2 = Sheets("Sonuç")


sonsatir_1 = s1.Cells(Rows.Count, "A").End(3).Row
sonsatir_2 = s2.Cells(Rows.Count, "A").End(3).Row - 1

s2.Range("B2:B" & sonsatir_2).ClearContents




Veri_Liste = ""

For X = 2 To sonsatir_2
For i = 8 To sonsatir_1



If s2.Cells(X, "A") = "" Then
s2.Cells(X, "B") = ""

ElseIf s2.Cells(X, "A") <> "" And s2.Cells(X, "A") = s1.Cells(i, "A") Then
   
    Veri_Liste = Veri_Liste & " " & s1.Cells(i, "C").Value
   
    s2.Cells(X, "B") = Veri_Liste
         
   
End If

Next i
Veri_Liste = ""
Next X

End Sub
ALLAH razı olsun üstad. Lakin bunu formül ile yapmak mümkün müdür?
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
501
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
ALLAH razı olsun üstad. Lakin bunu formül ile yapmak mümkün müdür?

Emin değilim ancak mümkün olsa bile çok uzun formül kurmak gerekir. Ve sizin verileriniz fazla ise dosyanız çok ağırlaşır büyük ihtimalle. Bence makro kullanmanız daha mantıklı.
 

zfr10

Altın Üye
Katılım
5 Şubat 2010
Mesajlar
177
Excel Vers. ve Dili
EXCEL/2016
Altın Üyelik Bitiş Tarihi
09-08-2025
Emin değilim ancak mümkün olsa bile çok uzun formül kurmak gerekir. Ve sizin verileriniz fazla ise dosyanız çok ağırlaşır büyük ihtimalle. Bence makro kullanmanız daha mantıklı.
Eyvallah Üstad. Şöyle bir durum gelişti. B27' den sonra birkaç hücrede birleştime işlemi yaptım ama kod birleştirilmiş hücrelerde çalışmıyor hatası veriyor.
s2.Range("B2:B" & sonsatir_2).ClearContents
kısmını B2:B25 diye değiştirdim yine işe yaramadı. Bundan dolayı formülle mümkün mü diye sordum?
 

walabi

Altın Üye
Katılım
22 Eylül 2012
Mesajlar
501
Excel Vers. ve Dili
excel 2010

excel 2013
Altın Üyelik Bitiş Tarihi
06-08-2025
Eyvallah Üstad. Şöyle bir durum gelişti. B27' den sonra birkaç hücrede birleştime işlemi yaptım ama kod birleştirilmiş hücrelerde çalışmıyor hatası veriyor.
s2.Range("B2:B" & sonsatir_2).ClearContents
kısmını B2:B25 diye değiştirdim yine işe yaramadı. Bundan dolayı formülle mümkün mü diye sordum?

Birleştir ve Ortala özelliğini kullanırsanız sıkıntı yaratır. Yaptığınız işlem bu sanırım. Doğru ise benim bilgim buna yeterli değil açıkcası.
 
Üst