Soru formül içeren hücrede değişiklik yapabilme imkanı

tashcengiz

Altın Üye
Katılım
6 Eylül 2023
Mesajlar
5
Excel Vers. ve Dili
excel-2016 türkçe
Altın Üyelik Bitiş Tarihi
04-10-2024
Merhaba arkadaşlar. Çalışma kitabımda örneğin a1 hücremde veri doğrulama ile başka hücrelere yazdığım listeden başlık seçimi yapabiliyorum. Yaptığım başlık seçimine göre de A2 hücresine eğer formülünü kullanarak yine başka hücrelere yazdığım başlığa uygun detaylı açıklama metinleri geliyor. Bu açıklama metinlerini şablon olarak kullanıp üzerinde dilediğim gibi değişiklik yapabiliyorum. Ancak değişiklik yaptıktan sonra A2 hücresindeki eğer formülü haliyle kayboluyor. Benim istediğim formülün kaybolmaması ve aynı anda hücrede değişiklik de yapabilmek.
Aslında A1 hücresinde listeden seçim yaptığımda A2 hücresinin değişiklik yapmama rağmen formülü yeniden çalıştırmasını sağlayabilirsem harika bir çözüm olmuş olur. Ama excelde bunun yolu var mı bilemiyorum? Mümkün müdür?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Formülün yaptığı işlemi makro ile yapabilirsiniz. Böylece A2 hücresine elle müdahale edebilirsiniz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Siz örnek dosyanızı paylaşın. Ona göre kod yazılabilir..
 

tashcengiz

Altın Üye
Katılım
6 Eylül 2023
Mesajlar
5
Excel Vers. ve Dili
excel-2016 türkçe
Altın Üyelik Bitiş Tarihi
04-10-2024
Siz örnek dosyanızı paylaşın. Ona göre kod yazılabilir..
sayın AYHAN örnek dosyam için şimdilik harici bir link paylaşıyorum.


Paylaştığım dosya başlangıç aşamasında olduğu için henüz çok karmaşık değil. Ekleyeceğim sayfalarda hesaplama ve istatistiksel tablolar da bulunacak. İlerleme raporlarını her defasında yeniden yazmak yerine hazır taslaklar oluşturup üzerinde güncelleme yapabileceğim, veri girişi yapabileceğim bir dosya oluşturmaya çalışıyorum, adım adım ilerliyorum.
Bu dosyada "veri giriş" sayfasında C sütununu veri girişi için ayırdım. Sorduğum örnekte "veri giriş"C 7-17 arasındaki seçmeli veri hücreleri "formüller ve şablonlar" sayfasından taslak metinleri getirmektedir. Sorumun başında "veri giriş"C9-11-13-15-17'deki metinleri düzenleyebildiğimi belirtmiştim ancak o ifade biraz eksik. Zira o hücrelerde formül var ve ben hücredeki değer, yani metinleri kopyala yapıştır yöntemiyle yeni bir satır açarak oraya kopyalayıp düzeltiyordum. Her defasında tekrar tekrar kopyala yapıştır yapmak istemiyorum ve istediğimi tam olarak sorabilmek için o satırları kaldırdım.
Nihai olarak;
1- seçmeli hücrelerde ("veri giriş" C8-10-12-14-16) seçtiğim başlığa göre "formüller ve şablonlar" sayfasından "veri giriş" C9-11-13-15-17'ye gelen metinlerin formül olarak değil metin olarak bu hücrelere gelmesini,
2- bu metinler de taslak olduğu için üzerinde dilediğim gibi değişiklik yapabilmeyi,
3- son olarak da metin üzerinde değişiklik yapmama rağmen "veri giriş" C8-10-12-14-16 listeden seçmeli hücrelerde tekrar yapacağım seçime göre "veri giriş" C9-11-13-15-17'a "formüller ve şablonlar" sayfasındaki hazır taslak verilerin tekrar gelmesini istiyorum. diğer bir deyişle bu hücrelerin içeriğini değiştirsem dahi seçim yaptığımda bu hücrelere tekar taslak metinlerin gelmesini istiyorum.
Sanırım çok şey istedim😊
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
"Veri Giriş" sayfasının kod bölümüne uygulayınız..

C++:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim S1 As Worksheet, S2 As Worksheet, Bul As Range
    
    Set S1 = Sheets("veri giriş")
    Set S2 = Sheets("formüller, şablonlar")
    
    If Intersect(Target, Range("C8,C10,C12,C14,C16")) Is Nothing Then Exit Sub
    
    Set Bul = S2.Range("A:A").Find(Target.Value, , , xlWhole)
    If Not Bul Is Nothing Then
        Target.Offset(1).Value = Bul.Offset(, 1).Value
    Else
        Target.Offset(1).Value = ""
    End If

    Set Bul = Nothing
    Set S1 = Nothing
    Set S1 = Nothing
End Sub
 

tashcengiz

Altın Üye
Katılım
6 Eylül 2023
Mesajlar
5
Excel Vers. ve Dili
excel-2016 türkçe
Altın Üyelik Bitiş Tarihi
04-10-2024
"Veri Giriş" sayfasının kod bölümüne uygulayınız..

C++:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim S1 As Worksheet, S2 As Worksheet, Bul As Range
   
    Set S1 = Sheets("veri giriş")
    Set S2 = Sheets("formüller, şablonlar")
   
    If Intersect(Target, Range("C8,C10,C12,C14,C16")) Is Nothing Then Exit Sub
   
    Set Bul = S2.Range("A:A").Find(Target.Value, , , xlWhole)
    If Not Bul Is Nothing Then
        Target.Offset(1).Value = Bul.Offset(, 1).Value
    Else
        Target.Offset(1).Value = ""
    End If

    Set Bul = Nothing
    Set S1 = Nothing
    Set S1 = Nothing
End Sub
Çok güzel çalıştı harikasınız. Çok teşekkürler. Bir an önce visual basic öğrenmeliyim🙂
 

tashcengiz

Altın Üye
Katılım
6 Eylül 2023
Mesajlar
5
Excel Vers. ve Dili
excel-2016 türkçe
Altın Üyelik Bitiş Tarihi
04-10-2024
sayın AYHAN örnek dosyam için şimdilik harici bir link paylaşıyorum.


Paylaştığım dosya başlangıç aşamasında olduğu için henüz çok karmaşık değil. Ekleyeceğim sayfalarda hesaplama ve istatistiksel tablolar da bulunacak. İlerleme raporlarını her defasında yeniden yazmak yerine hazır taslaklar oluşturup üzerinde güncelleme yapabileceğim, veri girişi yapabileceğim bir dosya oluşturmaya çalışıyorum, adım adım ilerliyorum.
Bu dosyada "veri giriş" sayfasında C sütununu veri girişi için ayırdım. Sorduğum örnekte "veri giriş"C 7-17 arasındaki seçmeli veri hücreleri "formüller ve şablonlar" sayfasından taslak metinleri getirmektedir. Sorumun başında "veri giriş"C9-11-13-15-17'deki metinleri düzenleyebildiğimi belirtmiştim ancak o ifade biraz eksik. Zira o hücrelerde formül var ve ben hücredeki değer, yani metinleri kopyala yapıştır yöntemiyle yeni bir satır açarak oraya kopyalayıp düzeltiyordum. Her defasında tekrar tekrar kopyala yapıştır yapmak istemiyorum ve istediğimi tam olarak sorabilmek için o satırları kaldırdım.
Nihai olarak;
1- seçmeli hücrelerde ("veri giriş" C8-10-12-14-16) seçtiğim başlığa göre "formüller ve şablonlar" sayfasından "veri giriş" C9-11-13-15-17'ye gelen metinlerin formül olarak değil metin olarak bu hücrelere gelmesini,
2- bu metinler de taslak olduğu için üzerinde dilediğim gibi değişiklik yapabilmeyi,
3- son olarak da metin üzerinde değişiklik yapmama rağmen "veri giriş" C8-10-12-14-16 listeden seçmeli hücrelerde tekrar yapacağım seçime göre "veri giriş" C9-11-13-15-17'a "formüller ve şablonlar" sayfasındaki hazır taslak verilerin tekrar gelmesini istiyorum. diğer bir deyişle bu hücrelerin içeriğini değiştirsem dahi seçim yaptığımda bu hücrelere tekar taslak metinlerin gelmesini istiyorum.
Sanırım çok şey istedim😊
Tekrar merhaba. Bu dosyada ("veri giriş" C8-10-12-14-16)'da seçtiğim "Faaliyetler" başlığı ile ilişkili olarak, planlanan çalışmalar, maliyet hesabı vb. 3 veya daha fazla sayıda başlık oluşturuyorum. Tabi bu başlıklar yine "formüller ve şablonlar" sayfasından "veri giriş" sayfasına çekilecek ve düzenlenebilir olacak. Özetle ("veri giriş" C8-10-12-14-16) hücrelerini referans alarak yapacağım seçime göre daha önce yaptığımız işlemin yeni başlıklara göre 3 veya daha fazla kez yapılması gerekecek.
Yani verdiğiniz kod ile (tekrar teşekkürler) referans aldığım faaliyet türlerine göre farklı başlıklar oluşturacağım ve bu referas hücresindeki seçime göre oluşturulacak yeni başlıkların da formüller ve şablonlar sayfasından çekilmesini istiyorum. Örneğin veri giriş C8'deki referans değerim AAT-1 ise veri giriş-C9'a formüller ve şablonlar sayfasındaki yapılan çalışma verileri gelmektedir. Ben verigiriş-C8'de AAT-1 seçtiğimde örneğin verigiriş-C20'ye AAT-1 için planlanan çalışma verilerinin, C26'ya AAT-1'e ait maliyet hesabı verilerinin gelmesini istiyorum. Tabi bu şekilde C8'i referans alarak yeni ekleyeceğim konuları da çağırabilmeliyim.
Çok karmaşık sordum ama, umarım anlaşılmıştır. Yardımlarınızı bekliyorum.
Saygılar.
 
Üst