Akif59
Altın Üye
- Katılım
- 15 Mart 2020
- Mesajlar
- 66
- Excel Vers. ve Dili
- 2013 ve 2016
- Altın Üyelik Bitiş Tarihi
- 20-03-2025
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Merhaba bir çözümü yok mudurMerhaba
mavi alandaki topla çarpım formülünden makro ile kurtulmak mümkünmü
kırmızı alandaki çıkarma formülünden makro ile kurtulmak mümkünmü
Ekli dosyayı görüntüle 216714
dosya.tc sitesine yüklerseniz ve linki paylaşırsanız bakabilirim.
Sub ToplaveCarp()
sonSatır = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
Dim cell As Range
ActiveSheet.Range("D15:DI15").Select
For Each cell In Selection
sütun = cell.Column
For i = 18 To sonSatır
toplam = toplam + Cells(i, sütun) * Cells(i, 114)
Next i
cell.Value = toplam
cell.Offset(1, 0) = cell.Offset(-1, 0) - cell
toplam = 0
Next cell
Cells(14, 4).Select
End Sub
Merhaba murat bey kodun aktif olarak çalışması gerekiyor ben dosyada d18 dı 118 aralıgına degerler girdikce bu gederleri dj18 dj118 aralığındaki değerlere çarpacakDosyanızın yedeğini aldıktan sonra deneyiniz.
Kod:Sub ToplaveCarp() sonSatır = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row Dim cell As Range ActiveSheet.Range("D15:DI15").Select For Each cell In Selection sütun = cell.Column For i = 18 To sonSatır toplam = toplam + Cells(i, sütun) * Cells(i, 114) Next i cell.Value = toplam cell.Offset(1, 0) = cell.Offset(-1, 0) - cell toplam = 0 Next cell Cells(14, 4).Select End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D18:DI118")) Is Nothing Then
Call ToplaveCarp
Target.Select
End If
End Sub
Sub ToplaveCarp()
sonSatır = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
Dim cell As Range
ActiveSheet.Range("D15:DI15").Select
For Each cell In Selection
sütun = cell.Column
For i = 18 To sonSatır
toplam = toplam + Cells(i, sütun).Value * Cells(i, 114).Value
Next i
cell.Value = toplam
cell.Offset(1, 0) = cell.Offset(-1, 0).Value - cell.Value
toplam = 0
Next cell
End Sub
Merhaba murat bey kod hata veriyor hata çözülse bile aynı sayfada aynı başlıklı başka bir kod varAşağıdaki kodu sayfanın kod kısmına yazınız.
Kod:Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("D18:DI118")) Is Nothing Then Call ToplaveCarp Target.Select End If End Sub Sub ToplaveCarp() sonSatır = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row Dim cell As Range ActiveSheet.Range("D15:DI15").Select For Each cell In Selection sütun = cell.Column For i = 18 To sonSatır toplam = toplam + Cells(i, sütun).Value * Cells(i, 114).Value Next i cell.Value = toplam cell.Offset(1, 0) = cell.Offset(-1, 0).Value - cell.Value toplam = 0 Next cell End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D18:DI118")) Is Nothing Then
Call ToplaveCarp
End If
End Sub
Sub ToplaveCarp()
sonSatır = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
Dim cell As Range
ActiveSheet.Range("D15:DI15").Select
For Each cell In Selection
sütun = cell.Column
For i = 18 To 118
If i = 68 Then
GoTo DoNothing
End If
toplam = toplam + Cells(i, sütun).Value * Cells(i, 114).Value
Next i
DoNothing:
cell.Value = toplam
cell.Offset(1, 0) = cell.Offset(-1, 0).Value - cell.Value
toplam = 0
Next cell
End Sub
Elinize sağlık murat bey çok güzel oldu68.satırdan dolayı hata veriyor, kodu aşağıdaki ile değiştiriniz.
Kod:Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("D18:DI118")) Is Nothing Then Call ToplaveCarp End If End Sub Sub ToplaveCarp() sonSatır = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row Dim cell As Range ActiveSheet.Range("D15:DI15").Select For Each cell In Selection sütun = cell.Column For i = 18 To 118 If i = 68 Then GoTo DoNothing End If toplam = toplam + Cells(i, sütun).Value * Cells(i, 114).Value Next i DoNothing: cell.Value = toplam cell.Offset(1, 0) = cell.Offset(-1, 0).Value - cell.Value toplam = 0 Next cell End Sub