2013-11-22 69 views
0

我遇到一些Excel問題,如果可能的話我想獲得一個宏來幫助我。Excel:不包括非數字行的百分比變化宏

問題:

我需要找到一個範圍列在一排(A1:A54)上的百分比差。喜歡的東西=((max(xy:xy))-(MIN(xy:xy))/(MIN(xy:xy)

我需要擅長從包含的東西是不是數字式排除行(有這些隨機地方負荷)。

我需要的東西,普遍的,這樣我可以在不同的工作簿等運行

+0

你看到的其他數據類型。工作表函數的最大值和最小值跳過包含文本的單元格。 – gtwebb

+0

我已經解決了我的問題與工作表,你是對的(雖然我可能不需要保證你:P)。謝謝您的幫助! – user3023065

回答

0

像這樣的東西忽略空白和文本的單元格

Function percentdifference(r As Range) As Double 

    With Application.WorksheetFunction 
     percentdifference = (.Max(r) - .Min(r))/.Min(r) 
    End With 

End Function 
0

您可以使用像下面這樣的「助手」功能,您的宏檢查小區內的數據類型,並套用公式只有當所有的單元格都是「Numeric」類型的時候。

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 
+0

謝謝!我會試試看... – user3023065