- Katılım
- 11 Mart 2005
- Mesajlar
- 3,058
- Excel Vers. ve Dili
- Office 2013 İngilizce
Merhaba,
Aşağıdaki Kodda
a2 = WF.AverageIfs(SumRng, Rng, str, Rng6, ">=" & minDate, Rng6, "<=" & makDate)
satırında hata alıyorum, nasıl çözüm önerirsiniz?
ilgi ve alakanız için şimdiden teşekkürler..
Aşağıdaki Kodda
a2 = WF.AverageIfs(SumRng, Rng, str, Rng6, ">=" & minDate, Rng6, "<=" & makDate)
satırında hata alıyorum, nasıl çözüm önerirsiniz?
ilgi ve alakanız için şimdiden teşekkürler..
Kod:
Sub Hesapla()
Dim sh1 As Worksheet
Dim sh4 As Worksheet
Dim WF As WorksheetFunction
Dim Tarih As Date
Dim a1 As Double, a2 As Double
Dim minDate As Date, makDate As Date
Dim Urun As String
Dim str As String
Dim Rng2 As Range, SumRng As Range
Dim Rng6 As Range, MyRng As Range
Dim Sat As Byte, SonSat As Byte
Dim Son As Long, s As Byte, j As Byte
Set WF = Application.WorksheetFunction
Set sh1 = Sheets("Sayfa2")
Set sh4 = Sheets("Data")
Son = sh4.Cells(sh4.Rows.Count, "A").End(xlUp).Row
Set MyRng = sh1.Range("C$1:AG$1")
minDate = WF.Min(MyRng)
makDate = WF.Max(MyRng)
sh1.Range("C2:AK1000").ClearContents
Set Rng = sh4.Range("B$2:B" & Son)
Set Rng6 = sh4.Range("C$2:C" & Son)
Set SumRng = sh4.Range("D$2:D" & Son)
SonSat = sh1.Cells(sh1.Rows.Count, "A").End(xlUp).Row
For s = 2 To SonSat
str = sh1.Range("A" & s)
If str = "" Then GoTo 20
For j = 1 To 31
Sut = j + 2
If sh1.Cells(1, Sut) = "" Then GoTo 10
Tarih = sh1.Cells(1, Sut).Value
On Error Resume Next
a1 = WF.AverageIfs(SumRng, Rng, str, Rng6, Tarih)
On Error GoTo 0
sh1.Cells(s, Sut).Value = a1
a1 = 0
10:
Next j
a2 = WF.AverageIfs(SumRng, Rng, str, Rng6, ">=" & minDate, Rng6, "<=" & makDate)
sh1.Range("AH" & s).Value = a2
20:
a2 = 0
Urun = ""
str = ""
Next s
Set Rng = Nothing
Set Rng6 = Nothing
Set MyRng = Nothing
End Sub
Ekli dosyalar
-
58.8 KB Görüntüleme: 8