Arkadaşlar herkese selamalr,
Sayın Yurttaşın altta yazan makrosunu kullanıyorum ancak çok ağır hesaplıyor
sanki Bu makroyu daha hızlı çalıştırabilirmiyiz acaba?
Public Function TOPLATL( _
ParamArray vInput() As Variant) As Variant
Dim rParam As Variant
Dim rCell As Range
Dim vTemp As Variant
Application.Volatile
On Error GoTo Hata
For Each rParam In vInput
If TypeName(rParam) = "Range" Then
With rParam
For Each rCell In Intersect( _
.Cells, .Cells.Parent.UsedRange)
With rCell
If .NumberFormat = "#,##0.00 $" Then
If IsError(.Value) Then
vTemp = .Value
Exit For
ElseIf VarType(.Value2) = vbDouble Then
vTemp = vTemp + .Value2
End If
End If
End With
Next rCell
End With
End If
Next rParam
TOPLATL = vTemp
Devam:
On Error GoTo 0
Exit Function
Hata:
If Err.Number = 6 Then TOPLATL = CVErr(xlErrNum)
Resume Devam
End Function
Public Function TOPLAUSD( _
ParamArray vInput() As Variant) As Variant
Dim rParam As Variant
Dim rCell As Range
Dim vTemp As Variant
Application.Volatile
On Error GoTo Hata
For Each rParam In vInput
If TypeName(rParam) = "Range" Then
With rParam
For Each rCell In Intersect( _
.Cells, .Cells.Parent.UsedRange)
With rCell
If .NumberFormat = "[$$-409]#,##0.00" Then
If IsError(.Value) Then
vTemp = .Value
Exit For
ElseIf VarType(.Value2) = vbDouble Then
vTemp = vTemp + .Value2
End If
End If
End With
Next rCell
End With
End If
Next rParam
TOPLAUSD = vTemp
Devam:
On Error GoTo 0
Exit Function
Hata:
If Err.Number = 6 Then TOPLAUSD = CVErr(xlErrNum)
Resume Devam
End Function
Public Function TOPLAmanat( _
ParamArray vInput() As Variant) As Variant
Dim rParam As Variant
Dim rCell As Range
Dim vTemp As Variant
Application.Volatile
On Error GoTo Hata
For Each rParam In vInput
If TypeName(rParam) = "Range" Then
With rParam
For Each rCell In Intersect( _
.Cells, .Cells.Parent.UsedRange)
With rCell
If .NumberFormat = "#,##0.00 [$MNT]" Then
If IsError(.Value) Then
vTemp = .Value
Exit For
ElseIf VarType(.Value2) = vbDouble Then
vTemp = vTemp + .Value2
End If
End If
End With
Next rCell
End With
End If
Next rParam
TOPLAmanat = vTemp
Devam:
On Error GoTo 0
Exit Function
Hata:
If Err.Number = 6 Then TOPLAmanat = CVErr(xlErrNum)
Resume Devam
End Function
Sayın Yurttaşın altta yazan makrosunu kullanıyorum ancak çok ağır hesaplıyor
sanki Bu makroyu daha hızlı çalıştırabilirmiyiz acaba?
Public Function TOPLATL( _
ParamArray vInput() As Variant) As Variant
Dim rParam As Variant
Dim rCell As Range
Dim vTemp As Variant
Application.Volatile
On Error GoTo Hata
For Each rParam In vInput
If TypeName(rParam) = "Range" Then
With rParam
For Each rCell In Intersect( _
.Cells, .Cells.Parent.UsedRange)
With rCell
If .NumberFormat = "#,##0.00 $" Then
If IsError(.Value) Then
vTemp = .Value
Exit For
ElseIf VarType(.Value2) = vbDouble Then
vTemp = vTemp + .Value2
End If
End If
End With
Next rCell
End With
End If
Next rParam
TOPLATL = vTemp
Devam:
On Error GoTo 0
Exit Function
Hata:
If Err.Number = 6 Then TOPLATL = CVErr(xlErrNum)
Resume Devam
End Function
Public Function TOPLAUSD( _
ParamArray vInput() As Variant) As Variant
Dim rParam As Variant
Dim rCell As Range
Dim vTemp As Variant
Application.Volatile
On Error GoTo Hata
For Each rParam In vInput
If TypeName(rParam) = "Range" Then
With rParam
For Each rCell In Intersect( _
.Cells, .Cells.Parent.UsedRange)
With rCell
If .NumberFormat = "[$$-409]#,##0.00" Then
If IsError(.Value) Then
vTemp = .Value
Exit For
ElseIf VarType(.Value2) = vbDouble Then
vTemp = vTemp + .Value2
End If
End If
End With
Next rCell
End With
End If
Next rParam
TOPLAUSD = vTemp
Devam:
On Error GoTo 0
Exit Function
Hata:
If Err.Number = 6 Then TOPLAUSD = CVErr(xlErrNum)
Resume Devam
End Function
Public Function TOPLAmanat( _
ParamArray vInput() As Variant) As Variant
Dim rParam As Variant
Dim rCell As Range
Dim vTemp As Variant
Application.Volatile
On Error GoTo Hata
For Each rParam In vInput
If TypeName(rParam) = "Range" Then
With rParam
For Each rCell In Intersect( _
.Cells, .Cells.Parent.UsedRange)
With rCell
If .NumberFormat = "#,##0.00 [$MNT]" Then
If IsError(.Value) Then
vTemp = .Value
Exit For
ElseIf VarType(.Value2) = vbDouble Then
vTemp = vTemp + .Value2
End If
End If
End With
Next rCell
End With
End If
Next rParam
TOPLAmanat = vTemp
Devam:
On Error GoTo 0
Exit Function
Hata:
If Err.Number = 6 Then TOPLAmanat = CVErr(xlErrNum)
Resume Devam
End Function