Dener misiniz?
A sütununa "Şirket" yazıldığında ilgili hücrelerin birleşmesini sağlayacak şekilde kodu düzenledik. Bu sayede yalnızca "Şirket" kelimesi girildiğinde birleşme işlemi gerçekleşecek; başka herhangi bir değer girildiğinde birleşme yapılmayacaktır.
Ayrıca diğer kodunuzu da bununla birleştirdik.
Güncel Kod
Kodun Çalışma MantığıKod:Private Sub TextBox1_Change() ' TextBox1 değişiminde yapılacak işlemler burada tanımlanabilir End Sub Private Sub Worksheet_Change(ByVal Target As Range) ' A sütununda "Şirket" kelimesi girildiğinde C-D ve K sütunlarındaki hücreleri birleştirme işlemi If Not Intersect(Target, Me.Range("A:A")) Is Nothing Then Dim satirNo As Long satirNo = Target.Row ' A sütununa "Şirket" yazıldığında ilgili satırdaki hücreleri birleştir If Target.Value = "Şirket" Then ' C sütunundaki hücreleri birleştir Me.Range("C" & satirNo & ":C" & satirNo + 1).Merge ' D sütunundaki hücreleri birleştir Me.Range("D" & satirNo & ":D" & satirNo + 1).Merge ' K sütunundaki hücreleri birleştir Me.Range("K" & satirNo & ":K" & satirNo + 1).Merge Else ' Eğer A sütununda "Şirket" değilse birleşimleri kaldır Me.Range("C" & satirNo & ":C" & satirNo + 1).UnMerge Me.Range("D" & satirNo & ":D" & satirNo + 1).UnMerge Me.Range("K" & satirNo & ":K" & satirNo + 1).UnMerge End If End If ' F1:J2000 aralığında değişiklik yapılırsa, ilgili satırda L sütununa tarihi ekleme işlemi If Not Intersect(Target, Range("F1:J2000")) Is Nothing Then Application.EnableEvents = False Cells(Target.Row, 12).Value = Date Application.EnableEvents = True End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' E1:E10000 aralığında seçim yapıldığında seçilen hücreyi kopyalama işlemi If Not Intersect(Target, Range("E1:E10000")) Is Nothing Then Target.Copy End If End Sub
Bu güncelleme ile yalnızca A sütununa "Şirket" yazıldığında birleşme işlemi yapılacak.
- A Sütununda "Şirket" Kontrolü: Worksheet_Change kodu, A sütununda bir değişiklik olduğunda çalışır. A sütununa "Şirket" yazıldığında, belirtilen hücreleri (C, D ve K sütunları) birleştirir. Başka bir değer yazıldığında ise birleşmiş hücreleri otomatik olarak ayrır.
- Tarih Ekleme: F1:J2000 aralığında bir değişiklik yapıldığında, ilgili satırda L sütununa otomatik olarak o günün tarihini ekler.
- Seçim Yapıldığında Kopyalama: E1:E10000 aralığında bir hücre seçildiğinde, o hücreyi otomatik olarak kopyalar.
Elinize sağlık çok güzel olmuş hersey istediğim gibi olmuş şirket yazdığımda biçimledirme yapıyor diğer türlü yapmıyor çok küçük bir pürüz kalmış o da şirket yazdığımda biçimlendirme yapıyor ama şirket ifadesini kaldırdığımda biçimlendirmeyi geri almıyor onu da yaparsak her şeye tamam olmuş olacak