snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
Option Explicit
Public Function MAE(list As Variant) As Single
Dim item As Variant
Dim ndata As Integer
Dim mynum
Dim mean As Single
ndata = 0
For Each item In list
ndata = ndata + 1
Next item
mean = Application.WorksheetFunction.Average(list)
MAE = mean
End Function
Public Function MAE(list As Range) As Single
Dim item As Range
Dim ab() As Variant
Dim i As Integer
For Each item In list
i = i + 1
ReDim Preserve ab(i)
ab(i) = Abs(list(i))
Next item
MAE = Application.Average(ab)
End Function
Option Explicit
Public Function MAE(list As Range) As Single
Dim item As Range
Dim ab() As Variant
Dim i As Integer
For Each item In list
i = i + 1
ReDim Preserve ab(i)
ab(i) = Abs(list(i))
Next item
MAE = Application.Average(ab)
Application.ScreenUpdating = False
With item
If .i > 1 Then
ElseIf .Column = 2 And .Offset(1, 0) = "" _
And .Offset(-1, 0) = "" Then
.Offset(0, -1).Resize(, 2).Cut
.End(xlUp).Offset(1, -1) _
.Resize(, 2).Insert shift:=xlDown
End If
End With
Application.ScreenUpdating = True
End Function
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error Resume Next
If UCase(Mid(Target.Formula, 2, 3)) = "MAE" Then
Range("E1") = Target.Value
Target.ClearContents
End If
Application.EnableEvents = True
End Sub
Public Function MAE(list As Range) As Single
Dim item As Range
Dim ab() As Variant
Dim i As Integer
For Each item In list
i = i + 1
ReDim Preserve ab(i)
ab(i) = Abs(list(i))
Next item
MAE = Application.Average(ab)
End Function