我遇到了一些Excel问题,如果可能的话,我想获得一个宏来帮助我。
问题:
我需要在一行中找到一系列列的百分比差异(A1:A54)。像=((max(xy:xy))-(MIN(xy:xy))/(MIN(xy:xy)
BUT
我需要excel从公式中排除包含不是数字的行(在随机位置加载这些行)。
我需要一些通用的东西,以便我可以在不同的工作簿等中运行它。
答案 0 :(得分:0)
您可以使用宏中的“助手”功能来检查单元格中的数据类型,并仅在所有单元格都是“数字”类型时应用公式。
Function CellType(c)
' Returns the cell type of the upper left
' cell in a range
Application.Volatile
Set c = c.Range("A1")
Select Case True
Case IsEmpty(c): CellType = "Blank"
Case Application.IsText(c): CellType = "Text"
Case Application.IsLogical(c): CellType = "Logical"
Case Application.IsError(c): CellType = "Error"
Case IsDate(c): CellType = "Date"
Case InStr(1, c.Text, ":") <> 0: CellType = "Time"
Case c.HasFormula: CellType = "Formula"
Case IsNumeric(c): CellType = "Numeric"
End Select
End Function
答案 1 :(得分:0)
这样的东西会忽略空格和文本单元格
Function percentdifference(r As Range) As Double
With Application.WorksheetFunction
percentdifference = (.Max(r) - .Min(r)) / .Min(r)
End With
End Function