Formülü makroya çevirdim, Olmadı..!

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,737
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sayfa koruma yöntemi dışında bir çözüm varsa bende öğrenmiş olurum.
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,672
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Merhaba,
Sn.uzmanlarımız ve sensizsoldum,
Konuya çözüm getirecek seviyede olmadığımı bilmekle beraber;
Uzmanlarımız tarafından tarafıma yapılan bir çalışmayı isteğinize uygun uyarlamaya çalıştım.
Umarım isteğiniz karşılar.
Selametle kalınız
 

Ekli dosyalar

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,672
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Merhaba,
Kusura bakmayın, sorudan anladığımı ve sunduğum çözümü zaten Sn.Asi kral kardeşimiz işin başında çözmüş.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,842
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Merhaba arkadaşlar konu 43. mesaj olmuş ilk sorulan sorunun üzerine bir kaç farklı soru daha sorulmuş konu bütünlüğü burada kaybolmuş ve formül çubuğuna endexli bir durum olmuş.

Şimdi mevcut durumda sayfayı koruma altına almadan formül çubuğunu gizleseniz bile kullanıcı dosyayı açarken makroları etkinleştirmeden açınca sayfadaki formülleri görür bana kalırsa mevcut dosyanın sağlıklı çalışabilmesi için Korhan Beyin önerdiği yol iyi yol gibi gözüküyor.
 

asi_kral

Özel Üye
Katılım
22 Şubat 2012
Mesajlar
2,833
Excel Vers. ve Dili
Excel 2007 Türkçe
Merhaba
Gelenler sayfasının kod bölümüne ekleyin ve deneyin.
Kod:
Option Explicit
Private Sub Worksheet_Activate()
Dim STR As Long
STR = Range("B" & Rows.Count).End(xlUp).Row
With Range("C3:C" & STR)
.Formula = "=SUMIF(STOK!B:B,$B3,STOK!D:D)"
.Value = .Value
End With
End Sub
Stok sayfasından girişleri yapın. Sonra gelenler sayfasına geçin sonuçları gözlemleyin.
Başarılar.
 
Katılım
10 Ekim 2010
Mesajlar
1,469
Excel Vers. ve Dili
2010 Türkçe
Merhabalar,
Herkese Günaydın, Hayırlı sabahlar.
Kemal Bey, sizin önerdiğiniz yöntem daha ilk mesajlarda gündeme geldi fakat istediğim böyle bir yöntem değil. Bu sayfada ki sonuçları dinamik görmek gerekiyor. Anında sonuç veren yani bu da Formül ile olabilir. Makro bazen bu özelliği örtmeye yetmiyor. Korhan Bey ve Asi Beyin sanırım formül gizleme hakkında nasıl bir yöntemden bahsettiğimi anlatabildiğimi umuyorum. Halit Beyin de dediği gibi 45 Mesaj olmuş, Konu özelliğini kaybetmiş bulunuyor.
Kısaca şu konuyu,
Herhangi bir hücrede formül olduğunu var sayalım, bu hücre tıklandığında, formül çubuğunda sadece formülün gizlenmesini. Öte yandan, Korhan beyin yazdığı kodlar, bu sayfada işlem yapmamı sağlamıyor engelleme yapıyor. Nerdeyse sayfayı koruma altına alıyor. Oysa sürekli işlem yapılan bir sayfa olduğundan bu kodları kullanamadım. Asi Beyin yazdığı kod ise sayfaya her girişte sonuçları veriyor. Buda güzel bir yöntem fakat her veri girişinde sayfaya gir çık yapılacak gibi değil. Bu kez kodu sayfanın change olayına yazdık. Formül kadar hızlı olmayınca bu yöntemi de kullanmaktan vazgeçtik.
Asi Beyin sanırım bir yöntemi var diye düşünüyorum. Eğer o da olumsuz ise konuyu kapatalım.
Tüm arkadaşlarıma hocalarıma teşekkür eder, İyi çalışmalar dilerim.

Saygılarımla
 

Korhan Ayhan

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

Sayfalardan dinamik veri almak için iki yolunuz var.

Formül kullanmak (ki siz formüller görünmesin diyorsunuz...)
Makro kullanmak (bu size daha uygun çünkü sayfa koruması çalışmanızı engelliyor.)

Dinamik olması için kodu sayfanın aktif olma olayına ve sayfadaki hücrelerin değişim olayına yazmanız yeterli olacaktır. Yazılan kodun hızlı çalışması içinde sonuçları satır bazında değerlendirmek gerekir. bir hücreye değer girdiğinizde sadece o satırı hesaplatmak makronun hızlı sonuç vermesini sağlayacaktır. Daha öncede belirttiğim gibi excel çok satırlı işlemlerde her zaman istenilen sonucu veremiyor. Bu durumda sınırları zorlamanın pek bir anlamı yok.

Kısaca hücre değişimindeki formül yazma olayını satır bazında değerlendirip kodu ona göre yazarsanız istediğiniz sonuca ulaşabilirsiniz.
 
Katılım
10 Ekim 2010
Mesajlar
1,469
Excel Vers. ve Dili
2010 Türkçe
Merhaba Korhan Bey,
Bu konu için, bu kadar emek verildi, bu mesajınız olmasaydı, yöneticilerden konuyu kilitlemelerini rica edecektim. Bir üst mesajda söylediklerinize uygun bir kodunuz varsa son olarak denemek isterim. bu yolda olumsuz ise, sizin de söylediğiniz gibi daha fazla zorlamanın bir anlamı olmamalı.
İyi çalışmalar dilerim.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,842
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Şöyle bir kod belki birazcık işe yarar burada formüllü hücrelere tıklayınca imlec hücedeki formüllü hücreye gidiyor ve formül çubuğunu gizliyor.

imlecin aktif hücrede durdurmasını yapamadım çünki kısır sonsuz döngüye giriyor.
Kodu sayfanın kod bölümüne yapıştırın.

kod:

Kod:
Dim deg1(2)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
deg1(1) = Target.Row
Application.DoubleClick
deg1(2) = Target.Row
Application.DisplayFormulaBar = True
If deg1(1) <> deg1(2) Then
Application.DisplayFormulaBar = False
Exit Sub
End If
End Sub
 
Katılım
10 Ekim 2010
Mesajlar
1,469
Excel Vers. ve Dili
2010 Türkçe
Halit Bey,
Kodlarınızı denedim. Oldukça başarılı, fakat bu işlem için değil. Ama çok beğendim bu yöntemi. Farklı bir işlem için kullanabilirim. Çözüm yolu ürettiğiniz için ayrıca teşekkür ederim.
İyi çalışmalar dilerim.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,842
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Halit Bey,
Kodlarınızı denedim. Oldukça başarılı, fakat bu işlem için değil. Ama çok beğendim bu yöntemi. Farklı bir işlem için kullanabilirim. Çözüm yolu ürettiğiniz için ayrıca teşekkür ederim.
İyi çalışmalar dilerim.
Merhabalar,
Herkese Günaydın, Hayırlı sabahlar.
Kemal Bey, sizin önerdiğiniz yöntem daha ilk mesajlarda gündeme geldi fakat istediğim böyle bir yöntem değil. Bu sayfada ki sonuçları dinamik görmek gerekiyor. Anında sonuç veren yani bu da Formül ile olabilir. Makro bazen bu özelliği örtmeye yetmiyor. Korhan Bey ve Asi Beyin sanırım formül gizleme hakkında nasıl bir yöntemden bahsettiğimi anlatabildiğimi umuyorum. Halit Beyin de dediği gibi 45 Mesaj olmuş, Konu özelliğini kaybetmiş bulunuyor.
Kısaca şu konuyu,
Herhangi bir hücrede formül olduğunu var sayalım, bu hücre tıklandığında, formül çubuğunda sadece formülün gizlenmesini. Öte yandan, Korhan beyin yazdığı kodlar, bu sayfada işlem yapmamı sağlamıyor engelleme yapıyor. Nerdeyse sayfayı koruma altına alıyor. Oysa sürekli işlem yapılan bir sayfa olduğundan bu kodları kullanamadım. Asi Beyin yazdığı kod ise sayfaya her girişte sonuçları veriyor. Buda güzel bir yöntem fakat her veri girişinde sayfaya gir çık yapılacak gibi değil. Bu kez kodu sayfanın change olayına yazdık. Formül kadar hızlı olmayınca bu yöntemi de kullanmaktan vazgeçtik.
Asi Beyin sanırım bir yöntemi var diye düşünüyorum. Eğer o da olumsuz ise konuyu kapatalım.
Tüm arkadaşlarıma hocalarıma teşekkür eder, İyi çalışmalar dilerim.

Saygılarımla
46. mesajınızdaki ve diğer mesajlarınızdada bahsettiğiniz işlemi yukarıdaki mesajımdaki kod yapıyor.

Formüllü hücreye tıklayınca formül çubuğunu gizliyor kod.

Siz "fakat bu işlem için değil" demişsiniz şimdide sorunuz değiştimi acaba
 
Katılım
10 Ekim 2010
Mesajlar
1,469
Excel Vers. ve Dili
2010 Türkçe
Halit Bey,
Soru değişmedi. Ben soruyu o kadar anlatmama rağmen, anlatamadığıma yanıyorum. Yazdığınız kodlar çözüm yolu vs. işlemler, tam olarak soruya cevap olmadı. Benzeri cevaplar diyelim. Bire bir cevap değil. Sizin yazdığınız son kod hücreyi tıklayıp kaldığım formül zaten okunuyor.
İstediğim yöntem şu: Bir hücrede formül olup olmadığı, formül çubuğunda görünüyor. Bu formülü, formül çubuğunda gizlemekti. Ama sadece formülü, Formül ile gelen değerler Görünmeli.
Son olarak Korhan beyin, önereceği yolu denemek istiyorum.
Korhan Bey, Sizden istirhamım konuya son mesajınızdaki önerdiğiniz son çözüme ait bilgi aksedecekseniz onu denemek isterim.
Sonrasında Yöneticilerden Bu konuyu kilitlemesini rica edeceğim.
Konuya tüm ilgi gösteren Hocalarıma ve arkadaşlarımı Gönülden tekrar tekrar teşekkür ediyorum.
 

asi_kral

Özel Üye
Katılım
22 Şubat 2012
Mesajlar
2,833
Excel Vers. ve Dili
Excel 2007 Türkçe
Sanırım benim yazdığım kod gümbürtüye gitti :)
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Niçin kilitleniyor ?
 
Katılım
10 Ekim 2010
Mesajlar
1,469
Excel Vers. ve Dili
2010 Türkçe
Hayır, Asi Bey, kodlarınızı denedim. Ancak istediğim gibi olmadı. Daha önce yazdığınız sayfaya her girişte kendini güncelleyen yöntem bundan daha etkili olmasına rağmen o kodu tercih etmedim. Çalışmaya dinamik yöntem lazımdı. Olmadı.

Emeği geçen tüm Arkadaşıma hocalarıma ayrı ayrı teşekkür ediyorum.

İyi çalışmalar dilerim.

Sayın yöneticilerim bu konuyu kilitleye bilir miyiz?


Aza kanaat edip huzurla yaşayabilme hayaliyle.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,842
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Ben yapmış olduğum dosyayı ekliyorum sarı renkli hücredeki formüller başka satırlardan geldiği için formül çubuğu gizleniyor.

Yeşil renkli hücredeki formüller aynı satırda olduğu için gizlenmiyordu yani koda sütun index sinide ekleyince onuda gizliyor.

Örnek dosya

kod:
Kod:
Dim deg1(2)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
deg1(1) = Target.Row [COLOR=red]& Target.Column[/COLOR]
Application.DoubleClick
deg1(2) = Target.Row [COLOR=red]& Target.Column[/COLOR]
Application.DisplayFormulaBar = True
If deg1(1) <> deg1(2) Then
Application.DisplayFormulaBar = False
Exit Sub
End If
End Sub
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,842
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
56. mesajdaki dosyaya sayfa4 ekledim burada yaptığım işlem sayfanın tamamını bloke ettim ve hücreleri biçimlendirden/koruma/kilitli ve gizli tiklerini kaldırdım.

Daha sonra formüllü hücrelere tam tersini yaptım yani kilitli ve gizli tiklerini işaretledim. ve sayfayı korumaya aldım şifresi (1234)

Sayfada formüllü hücrelerde bir işlem yapılmazken formülsüz hücrelerde işlem yapılabilmektedir. Esasen sizin için en uygunu bu uygulamadır.
 

asi_kral

Özel Üye
Katılım
22 Şubat 2012
Mesajlar
2,833
Excel Vers. ve Dili
Excel 2007 Türkçe
Sayın Sensizoldum
Sizin istediğinize kodla bir çözüm buldum ama bir sıkıntı var.
Şimdi mesela formüllü hücreyi seçtiniz. Buradaki formül sadece değeri verdi sonra aynı sütuna mı tıklarsınız yoksa başka sütuna tıklama ihtimaliniz var mı_?
Örneğin
C4 hücresini seçtiniz formül kutucuğunda değer olarak 150 gözüktü. Siz sonra D ( C sütunu hariç başka bir sütun olabilir ) sütununda herhangi bir hücreye tıkladınız.

Bu soruma yanıt verirseniz. Çözümüm belki işinize yarar.
 

asi_kral

Özel Üye
Katılım
22 Şubat 2012
Mesajlar
2,833
Excel Vers. ve Dili
Excel 2007 Türkçe
Sorumu geri aldım.
Sayfanın kod bölümüne kopyalayıp dener misiniz_?
Kod:
Option Explicit
Dim KL As Variant, DRS As Variant
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
Application.EnableEvents = False
If Target.Column = 3 Then
If DRS = Empty Then
DRS = Target.Address
KL = Target.Formula
Target = Target.Value
ElseIf DRS <> Target.Address Then
Range(DRS) = KL
DRS = Target.Address
KL = Target.Formula
Target = Target.Value
End If
Else
Range(DRS) = KL
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
 
Son düzenleme:
Katılım
10 Ekim 2010
Mesajlar
1,469
Excel Vers. ve Dili
2010 Türkçe
İşte bu :) :) :)
Merhaba Asi Bey,
İstediğim tam olarak buydu. Sizi tebrik ediyor, kutluyorum. Benim için önemli bir sorundu. Sanırım bu sorunu tam anlamıyla Çözmüş oldunuz.
Çok teşekkür ediyorum.
 
Üst