27/03/2021, 16:51
27/03/2021, 17:54
(27/03/2021, 16:51)feraz yazdı: [ -> ]Dosya açılıştada sizdede aynı mesaj çıkıyor mu?evet bendede çıkıyor ama nedenini çözemedim, tablo başlık isimlerini değiştirdiğim için olabilirmi bilmiyorum.
[img][/img]
27/03/2021, 18:37
Sayfa kodu;
Sub hesaplaTablo(alan1 As String, alan2 As String, alanSon As String)
Dim son As Long
Application.ScreenUpdating = False
With ThisWorkbook.Sheets("özet_tablo")
son = .Range(alanSon & Rows.Count).End(3).Row
.Range(alan1 & Rows.Count).ClearContents
If son > 8 Then
.Range(alan1 & son).Formula = "=Sum(" & alan2 & ")"
.Range(alan1 & son).Value = .Range(alan1 & son).Value
End If
End With
Application.ScreenUpdating = True
End Sub
Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)
hesaplaTablo "G9:G", "C9:F9", "B"
hesaplaTablo "k9:k", "j9:j9", "i"
End Sub
27/03/2021, 20:30
(27/03/2021, 18:37)feraz yazdı: [ -> ]Teşekkürler olmuş, ancak her bir satır için vek.ücrt.toplamı-Ödenen toplam=Kalanı görmem gerekiyor.
Sayfa kodu;
Sub hesaplaTablo(alan1 As String, alan2 As String, alanSon As String)
Dim son As Long
Application.ScreenUpdating = False
With ThisWorkbook.Sheets("özet_tablo")
son = .Range(alanSon & Rows.Count).End(3).Row
.Range(alan1 & Rows.Count).ClearContents
If son > 8 Then
.Range(alan1 & son).Formula = "=Sum(" & alan2 & ")"
.Range(alan1 & son).Value = .Range(alan1 & son).Value
End If
End With
Application.ScreenUpdating = True
End Sub
Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)
hesaplaTablo "G9:G", "C9:F9", "B"
hesaplaTablo "k9:k", "j9:j9", "i"
End Sub
27/03/2021, 22:15
Rica ederim,olması gereken sonucu sayfada gösterebilirmisiniz açıklamalı.
27/03/2021, 23:50
Gifi izleyin olmuşmu yanlış anlamadıysam.
Kodları düzenleyebilirsiniz istediğiniz gibi.
Her iki tablodada Dosya adları sütunundaki karşılıklı veriler aynı olduğu için döngü ile yapmadım.
![[Resim: ttt29c5b6a6b01cc6c8.gif]](https://s4.gifyu.com/images/ttt29c5b6a6b01cc6c8.gif)
Kodları düzenleyebilirsiniz istediğiniz gibi.
Her iki tablodada Dosya adları sütunundaki karşılıklı veriler aynı olduğu için döngü ile yapmadım.
![[Resim: ttt29c5b6a6b01cc6c8.gif]](https://s4.gifyu.com/images/ttt29c5b6a6b01cc6c8.gif)
Sub hesaplaTablo(alan1 As String, alan2 As String, alanSon As String)
Dim son As Long
Application.ScreenUpdating = False
With ThisWorkbook.Sheets("özet_tablo")
son = .Range(alanSon & Rows.Count).End(3).Row
.Range(alan1 & Rows.Count).ClearContents
If son > 8 Then
.Range(alan1 & son).Formula = "=Sum(" & alan2 & ")"
.Range(alan1 & son).Value = .Range(alan1 & son).Value
End If
End With
kalanHesap
Application.ScreenUpdating = True
End Sub
Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)
hesaplaTablo "G9:G", "C9:F9", "B"
' hesaplaTablo "k9:k", "j9:j9", "i"
End Sub
Sub kalanHesap()
Dim son As Long
Application.ScreenUpdating = False
With ThisWorkbook.Sheets("özet_tablo")
son = .Range("B" & Rows.Count).End(3).Row
.Range("K9:K" & Rows.Count).ClearContents
If son > 8 Then
.Range("K9:K" & son).Formula = "=SUM(F9)-IF(i9=""Genel Toplam"",0,SUM(j9))"
.Range("K9:K" & son).Value = .Range("K9:K" & son).Value
son = .Range("K" & Rows.Count).End(3).Row
If .Range("B" & son).Value = "Genel Toplam" Then
.Range("K" & son).Value = ""
End If
End If
End With
Application.ScreenUpdating = True
End Sub