Dosya üzerinde değişiklik yapılıp yapılmadığını ö

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,043
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar,

Eğer yapabilirsem işimi çok kolaylaştıracak bir bilgiye ihityacım var,

Tek bir sheet (Activesheet) içeren Bir excel dosyasını açtıktan sonra, dosya açıkken;


İlk açıldığı andan itibaren üzerinde değişiklik yapıp yapmadığımı öğrenebilirmiyim,

Eğer bunu öğrenebilirsem, İkinci olarakta belirlenen bir sütundaki değişiklik olan hücrelerin hangileri olduğunu öğrenmem mümkünmüdür?

Bu konuda yardımcı olacak tüm arkadaşlara şimdiden teşekkürler....

İyi Çalışmalar dilerim.
 
Katılım
26 Nisan 2005
Mesajlar
29
Dosya değişimini kontrol etme

Dosya açıldığında değişiklik yapıp yapmadığını yada kaç kere değişiklik yaptığını gösteren bir excel hazırladım. Sanırım bu işini görür.

Ancak hangi sütun ve satırda değişme olduğunu kontrol etmek istiyorsan bunu için biraz daha araştırma yapmam lazım. Bulursam en kısa zamanda sizinle paylaşıcağım.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,043
Excel Vers. ve Dili
Office 2013 İngilizce
Teşekkürler quinen,

Private Sub Worksheet_Change(ByVal Target As Range)
If durum = False Then durum = True
isayac = isayac + 1
End Sub
Sanırım buradaki kodu her bir dosyaya yazmak gerekecektir, bunun yerine;

bir module yazarak bir kod içerisinde kullanmak veya dosya isimleri "AAAAAA" ile başlayan dosyalarda otomatik kullanmak ne derece mümkündür.

buna bağlı olarak İkinci sorumda ise yeni bir durum aklıma geldi, şöyleki; değişiklik olan hücre anınada bir renge boyansa buda işimi görür.

İyi Çalışmalar....
 
Katılım
26 Nisan 2005
Mesajlar
29
Zaten kodların bir kısmı module de bulunuyor. Gönderdiklerini de module yazsan değişen birşey olmaz.
Sonuçta onu "Private Sub Worksheet_Change(ByVal Target As Range) " olayında çağırman gerekecek. Yani her sheet'rn change olayına bu kodu yazman yada yazdırman gerekiyor.
Kolay gelsin :hey:
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,043
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar;

Burada düşündüğüm,

bu kodu tüm dosyalarda kullanılan bir module içerisine yazmam,

ve belirlediğim bir dosya adında veya sheet adında da olur,

otomatik olarak çalışmasını sağlamak veya manuel olarak bu kodu bir tuşa atayıp çalıştırsam da işimi görür diye düşünüyorum.

Ã?rn: Aktif olan sheet adı "data" olduğunda otomatik çalış.

başka isimdeki sheetlerde çalışma...

selamlar, İyi Çışmalar.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Eğer bir kodun çalışma kitabındaki tüm sayfalarda geçerli olmasını istiyorsanız kodlarınızı Thisworkbook sayfasına yazabilirsiniz. (tabiiki workbook eventlerini kullanarak) Burada tanımlayacağınız bir if komutu ile sadece istediğiniz sayfadada çalışmasını sağlayabilirsiniz. Bir kodun tüm çalışma kitaplarında geçerli olması için bir eklenti haline dönüştürmeniz gereklidir.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,043
Excel Vers. ve Dili
Office 2013 İngilizce
Sn Leventm,

eklenti haline dönüştürmek için Thisworkbook sayfasına mı yoksa bir modul içerisine mi yazmamız gerekiyor,

Kolay gelsin.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,043
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar;

Buradaki Sorunun içerisinde kaybolan;
"Değişiklik olan hücre' nin anınada bir renge boyanması" durumunu bir türlü tam anlamıyla çözemedim,


Eğer değişiklik olduktan sonra enter ile geçersem bir altındaki hücre seçildiği için buradan yola çıkarak işi çözdüm, fakat direkt mouse ile farklı bir seçersem bu kez sorun oluyor.

Bu işin içinden sorunsuz nasıl çıkabilirim.


İyi Akşamlar, İyi Çalışmalar....
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
Aşağıdaki kodu workbook altında çalıştırdığınızda her değişiklik olan hücreyi boyar.


[vb:1:b41b15e485]Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Target.Interior.ColorIndex = 3
End Sub[/vb:1:b41b15e485]
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,043
Excel Vers. ve Dili
Office 2013 İngilizce
Sn danersin,

Yardımlarınız için teşekkürler...

bu kodu tüm dosyalarda kullanmak (genelleştirmek) için ne yapmak gerekir,

Leventm arkadaşımız yukarıda eklenti haline dönüştürmek gerektiğini söylemişti,

verdiğiniz kodu eklenti olarak kaydettim fakat çalıştıramadım,

İyi Çalışmalar dilerim.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,043
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar;


Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Target.Interior.ColorIndex = 3
End Sub
koduyla olan işlemin tüm dosyalarda kullanılması için tüm uğraşlarım sonuçsuz kaldı, tıkanmış durumdayım.

bir yol gösteren olursa çok sevineceğim.


Herkese İyi Çalışmalar dilerim...
 
Üst