ÇÖZÜLDÜ/Makroyu istenilen sayfalarda çalıştırmak ve hücre aralığı eklemek.

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Sayfayı yenileyip bundan önceki cevabıma tekrar bakın, ufak bir kısmı düzeltmeyi atlamışım.
 
Katılım
31 Ocak 2019
Mesajlar
83
Excel Vers. ve Dili
2016 Excel. English.
Sayfayı yenileyip bundan önceki cevabıma tekrar bakın, ufak bir kısmı düzeltmeyi atlamışım.
Revize ettiğiniz şekilde tekrar önceki modulü silip yeni modul olarak çalıştırdım. Ancak bu kez hata vermedi. Ama hiçbirşey de yapmadı. Yani makroyu çalıştırdım ama hiçbir hareket olmadı maalesef. F8 yapıp adım adım baktım orda da bir hata yok.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Katılım
31 Ocak 2019
Mesajlar
83
Excel Vers. ve Dili
2016 Excel. English.
Hocam gönderdiğiniz dosyada sayfalardaki formüllerin güncellenmesini istediğini anladığınız belirtmişsiniz. Aslında bizim F2 ve ENTER mantığını kullanma mantığı da tam olarak burdan kaynaklanıyordu. Yani siz son kod çalışmanızda aslında sayfalara "F9" işlemi yaptırıyorsunuz. Ama, hayır. Hücrelerde yer alan formüller için bu işlemiyor. Hücrelerin içerine girip ENTER yapmak gerekiyor Sıfırlanması için. İlk çalışmanızda yani "Has.Formula" şeklinde yazmış olduğunuz kodlar tam olarak F2>>ENTER mantığını karşılıyor ve istenilen sütun ve satırlarda hücreleri sanki F2>ENTER yapmış gibi oluyordu. Ama şu anki "Calculate" şeklinde kodladığınız makro sayfaya aslında "F9" yaptırıyor o nedenle de belirtlien hücre aralıklarındaki hücreler F2>ENTER gibi sıfırlanmıyor aslında. Durumu daha iyi anlaşılır olması için bana gönderdiğiniz bu son dosyada A-B-C sayfalarında R ve S sütunlarında bazı hücreleri geçmiş tarihe çevirdim. Makroyu çalıştırdığınızda tarihlerin şimdiki tarihle güncellenmediğini eski tarihte kaldığını görüceksiniz. Ancak o eski tarihli hücrelerin içine girip ENTER yaptığınızda şimdi tarih sonucu veredğini görüceksiniz. Saygılarımla. Dosya ekte.Dosya Burda.FreezeTimeGeri
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
O zaman; 4 numaralı cevabımda verdiğim kod'un başına ve sonuna,
son verdiğim koddaki gibi screen.Updating ve calculation true/false satırlarını ekleyerek bir deneyin bakalım.

Daha evvel bahsettiğiniz hız sorununun ortadan kalması gerekir.
 
Katılım
31 Ocak 2019
Mesajlar
83
Excel Vers. ve Dili
2016 Excel. English.
O zaman; 4 numaralı cevabımda verdiğim kod'un başına ve sonuna,
son verdiğim koddaki gibi screen.Updating ve calculation true/false satırlarını ekleyerek bir deneyin bakalım.

Daha evvel bahsettiğiniz hız sorununun ortadan kalması gerekir.
Ömer Hocam, size daha önce söylemiş miydim hiç???
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
15 numaralı cevapta, 30 sayfalı belgede 30 dakika beklediğinizden söz etmiştiniz
ve onun üzerine acaba calculate ile bir denesek mi diye düşünerek devam etmiştim.
 
Katılım
31 Ocak 2019
Mesajlar
83
Excel Vers. ve Dili
2016 Excel. English.
15 numaralı cevapta, 30 sayfalı belgede 30 dakika beklediğinizden söz etmiştiniz
ve onun üzerine acaba calculate ile bir denesek mi diye düşünerek devam etmiştim.
Ömer Hocam ondan bahsetmiyorum. Size daha önce söylemiş miydim? Yani; Harika olduğunuzu:D
Hocam harikasınız. Allah razı olsun. Dediğiniz şekilde revize ettikten sonra artık asıl dosyamda 30 sayfayı tam olarak 3-4 saniye içersinde kusursuz olarak neticelendirdi. Hiçbir hata yok. Nasıl istiyorsak öyle çalışıyor. Çalışmasını istemediğimiz sayfalarda da çalışmıyor. Nasıl mutluyum:D
Benim için harcadığınız mesai için de teşekkür ederim gerçekten. Hakkınızı ödeyemeyiz. (y) Son dediğiniz değişikliklerle kod ekteki gibi oldu. Tekrar tekrar sağolun. Allah razı olsun.
Rich (BB code):
Sub SIFIRLAMA()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each shf In ActiveWorkbook.Sheets
    Set s = Sheets(shf.Name)
    If shf.Name <> "MAKRO AYARLAR" And shf.Name <> "TABLO" Then
        If s.[A1].HasFormula Then s.[A1].Formula = s.[A1].Formula
        For sat = 25 To 54
            For sut = 18 To 19
                If s.Cells(sat, sut).HasFormula Then s.Cells(sat, sut).Formula = s.Cells(sat, sut).Formula
            Next
        Next
    End If
Next
Set s = Nothing
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
MsgBox "İşlem tamamlandı.", vbInformation, "..:: Ömer BARAN ::.."
End Sub
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Ömer Hocam ondan bahsetmiyorum. Size daha önce söylemiş miydim? Yani; Harika olduğunuzu:D
Hocam harikasınız. Allah razı olsun. Dediğiniz şekilde revize ettikten sonra artık asıl dosyamda 30 sayfayı tam olarak 3-4 saniye içersinde kusursuz olarak neticelendirdi. Hiçbir hata yok. Nasıl istiyorsak öyle çalışıyor. Çalışmasını istemediğimiz sayfalarda da çalışmıyor. Nasıl mutluyum:D
Benim için harcadığınız mesai için de teşekkür ederim gerçekten. Hakkınızı ödeyemeyiz. (y) Son dediğiniz değişikliklerle kod ekteki gibi oldu. Tekrar tekrar sağolun. Allah razı olsun.
Rich (BB code):
Sub SIFIRLAMA()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each shf In ActiveWorkbook.Sheets
    Set s = Sheets(shf.Name)
    If shf.Name <> "MAKRO AYARLAR" And shf.Name <> "TABLO" Then
        If s.[A1].HasFormula Then s.[A1].Formula = s.[A1].Formula
        For sat = 25 To 54
            For sut = 18 To 19
                If s.Cells(sat, sut).HasFormula Then s.Cells(sat, sut).Formula = s.Cells(sat, sut).Formula
            Next
        Next
    End If
Next
Set s = Nothing
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
MsgBox "İşlem tamamlandı.", vbInformation, "..:: Ömer BARAN ::.."
End Sub
Eyvallah, tarz olarak bir şeyi tamamlamadan peşini bırakmak gibi bir huyum yoktur.
İhtiyacınızın tam olarak görüldüğüne sevindim. 3-4 dakika bu makro için uzun bir süre bence.
Aslına bakarsanız dosyadaki işlemlerinizi merak etmiyor değilim ama neyse artık.
Başarılar, iyi çalışmalar dilerim.
 
Katılım
31 Ocak 2019
Mesajlar
83
Excel Vers. ve Dili
2016 Excel. English.
Eyvallah, tarz olarak bir şeyi tamamlamadan peşini bırakmak gibi bir huyum yoktur.
İhtiyacınızın tam olarak görüldüğüne sevindim. 3-4 dakika bu makro için uzun bir süre bence.
Aslına bakarsanız dosyadaki işlemlerinizi merak etmiyor değilim ama neyse artık.
Başarılar, iyi çalışmalar dilerim.
Evet hocam, tabiki dosyamı bir gün Teamweaver aracılığı ile sizinle paylaşırım. Bu arada 3-4 dakika değil 3-4 saniye içinde neticelendirdiğimi yazmıştım önceki mesajımda kodda yaptığımız son revize sonrası. Tekrar tekrar çok teşekkür ederim. Geceniz hayırlı olsun. İleride dosyam bittiğinde tüm dosyamı Makrolandırmak istiyorum aslında. Çünkü şu anda biraz hantal çalşıyor. Ama şu andaki asıl amacım da aslında Algoritmik işleyişini, Fonksiyon ve Formüllerle projeyi tamamlamak. O bittiğinde tüm dosyayı Makrolandırma konusunda eğer olursa ilk sizden yararlanmak isterim (ücreti mukabilinde olmak kaydıyla) , şayet siz eğer müsait olamazsanız tavsiyelerinizi dinlerim mutlaka. Hayırlı geceler tekrardan . Çok ama çok teşekkürler yardımlarınız için tekrardan.(y) İyi geceler.:)
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Bu dosya ile ilgili bir tavsiyem de şöyle olsun.
İşlemleriniz/amacınız açısından uygunluğuna/doğruluğuna siz karar vereceksiniz elbette.
Dosya açılırken yinelemeli hesaplamayı otomatik olarak aktif hal getirmek, dosya kapanırken de tekrar pasifleştermek yerinde olur sanırım.
bunun için, aşağıdaki kodu VBA ekranında BuÇalışmaKitabı (ThisWorkbook) bölümüne yapıştırın.
Rich (BB code):
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
    Application.Iteration = False
End Sub

Private Sub Workbook_Open()
    Application.Iteration = True
End Sub
 
Katılım
31 Ocak 2019
Mesajlar
83
Excel Vers. ve Dili
2016 Excel. English.
Bu dosya ile ilgili bir tavsiyem de şöyle olsun.
İşlemleriniz/amacınız açısından uygunluğuna/doğruluğuna siz karar vereceksiniz elbette.
Dosya açılırken yinelemeli hesaplamayı otomatik olarak aktif hal getirmek, dosya kapanırken de tekrar pasifleştermek yerinde olur sanırım.
bunun için, aşağıdaki kodu VBA ekranında BuÇalışmaKitabı (ThisWorkbook) bölümüne yapıştırın.
Rich (BB code):
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
    Application.Iteration = False
End Sub

Private Sub Workbook_Open()
    Application.Iteration = True
End Sub
Teşekkürler hocam. Bu kodu kaydedip dosyamda istemediğim bir değişikliğe neden olmazsa eğer dediğiniz gibi yapacağım. Çok sağolun tekrardan. İyi geceler.:)(y)
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
İyi geceler dilerim, sağlıcakla kalın.
 
Üst