• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Cari Hesap

Katılım
29 Kasım 2007
Mesajlar
1,110
Excel Vers. ve Dili
excel 2007
Arkadaşlar EK'teki çalışmada herhangi bir cari adına çift tıkladığımda o cari adına yeni bir şablon oluşuyor. Benim burada yapmak istediğim şey mevcut kodları revize ederek "CARİLER" sayfasında her carinin borç, alacak ve bakiyesinin oluşmasını sağlamak istiyorum.
 

Ekli dosyalar

Merhaba.

Öncelikle CARİ sayfalarındaki TOPLAM satırlarını tabloların üstüne almanızı öneriyorum. (Örneğin 9'uncu satıra)
Bu şekilde yaparsanız sayfalarınız daha kullanışlı olur ve veri çokluğuna göre TOPLAM satırlarının yeri de sabit olarak kalır.

Belgenizin mevcut haline göre aşağıdaki formülü CARİLER sayfası B4 hücresine uygulayın ve aşağı doğru kopyalayın.
C sütunu için formülde mavi renklendirdiğim sütun adlarını D olarak değiştirin.
.
Kod:
=[COLOR="red"]EĞER[/COLOR]([COLOR="red"]EHATALIYSA[/COLOR]([COLOR="red"]TOPLA[/COLOR]([COLOR="red"]DOLAYLI[/COLOR]("'"&$A4&"'![B][COLOR="Blue"][SIZE="4"]C[/SIZE][/COLOR][/B]11:[B][COLOR="Blue"][SIZE="4"]C[/SIZE][/COLOR][/B]1000")));"";[COLOR="Red"]TOPLA[/COLOR]([COLOR="Red"]DOLAYLI[/COLOR]("'"&$A4&"'![B][COLOR="Blue"][SIZE="4"]C[/SIZE][/COLOR][/B]11:[B][COLOR="Blue"][SIZE="4"]C[/SIZE][/COLOR][/B]1000"))/2)
 
Arkadaşlar bu çalışmada "CARİLER" sayfasındaki herhangi bir cari adına çift tıkladığımda o cari adına yeni bir şablon oluşturan bir kod mavcut. Benim burada yapmak istediğim birinci şey "ŞABLON" sayfasını gizlemek istiyorum gizlediğiminde cariler üst üste kaydeliyor. İkinci şey ise gereke "CARİLER" ve gerekese de herhangi bir cari için "EKSTRE" sayfasına isteğe göre gerek tamamını veya belirli bir tarih aralığının getrilmesini gerçekleştirmek istiyorum.
 

Ekli dosyalar

Sayfa ekleme kodlarınıza Şablon sayfasını gösterdikten sonra kopyalama yaptırırsanız ve kopyalamadan sonra Şablon sayfasını gizlerseniz belirttiiğiniz durum oluşmaz:

Kod:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal sh As Object, ByVal Target As Range, Cancel As Boolean)
On Error GoTo Son
Dim Sayfa As String
If ActiveSheet.Name = "CARİLER" Then
    Sayfa = Target.Value
    If Sayfa <> "" Then Sheets(Sayfa).Select
End If
Exit Sub
Son:
If Intersect(Target, Sheets("CARİLER").Range("A2:A65536")) Is Nothing Then Exit Sub
sor = MsgBox(Target.Value & " Adlı Sayfa Yok, Eklemek İster Misiniz? ", vbYesNo, Target.Value & " Adlı Sayfanın Açılması")
If sor = vbYes Then
    [COLOR="Red"]Sheets("ŞABLON").Visible = True
[/COLOR]    Sheets("ŞABLON").Copy After:=Sheets(Sheets.Count)
    ActiveSheet.Name = Target.Value
    [COLOR="red"]Sheets("ŞABLON").Visible = False[/COLOR]
    MsgBox Target.Value & " Sayfası AÇILDI......", vbOKOnly, "www.excel.web.tr"
End If
End Sub

Diğer isteğiniz için daha fazla açıklama ve dosyada nasıl bir değişiklik yapılacağını yani hangi sayfada hangi hücrede ne işlem yapılacağını belirtmeniz ve örnek dosyanızı ona göre güncellemeniz gerekiyor.
 
Yusuf Bey ilginize teşekkür ederim. Bir rica ada daha bulunsam, "CARİLER" sayfası hariç yeni açılın tüm şablonları gizleyebilir miyiz.
 
Aşağıdaki kodları deneyin. İkisi de thsiworkbook bölümünde olmalı. ilk kod açılışta CARİLER ve EKSTRE dışındaki sayfaları gizliyor.

İkinci koda yaptığım ilave de sayfa eklendiğinde gizliyor, cari ad seçildiğinde gösteriyor:

Kod:
Private Sub Workbook_Activate()
For i = 1 To Sheets.Count
    If Sheets(i).Name <> "CARİLER" And Sheets(i).Name <> "EKSTRE" Then
        [COLOR="Red"]Sheets(i).Visible = False[/COLOR]
    End If
End Sub

Private Sub Workbook_SheetBeforeDoubleClick(ByVal sh As Object, ByVal Target As Range, Cancel As Boolean)
On Error GoTo Son
Dim Sayfa As String
If ActiveSheet.Name = "CARİLER" Then
    Sayfa = Target.Value
    If Sayfa <> "" Then
        [COLOR="Red"]Sheets(Sayfa).Visible = True[/COLOR]
        Sheets(Sayfa).Select
    End If
End If
Exit Sub
Son:
If Intersect(Target, Sheets("CARİLER").Range("A2:A65536")) Is Nothing Then Exit Sub
sor = MsgBox(Target.Value & " Adlı Sayfa Yok, Eklemek İster Misiniz? ", vbYesNo, Target.Value & " Adlı Sayfanın Açılması")
If sor = vbYes Then
    Sheets("ŞABLON").Visible = True
    Sheets("ŞABLON").Copy After:=Sheets(Sheets.Count)
    ActiveSheet.Name = Target.Value
[COLOR="red"]    ActiveSheet.Visible = False
[/COLOR]    Sheets("ŞABLON").Visible = False
    MsgBox Target.Value & " Sayfası AÇILDI......", vbOKOnly, "www.excel.web.tr"
End If
End Sub
 
Son düzenleme:
Bu arada activate kodunda Next satırını unutmuşum. End sub satırından önce Next ilave etmeniz gerekir.
 
Geri
Üst