高分征集方案:如何自動在Excel中增加一列?
現成一個Excel報表,某列數字型(可能為空白,或者顯示“我是空”字樣)假設為A如下:
A
10
我是空
20
30
40
100
最後一行為合計數。
征求一個宏操作,在報表最後增加一列(假設為D),是A的百分比
A D
10 10.00%
我是空 0%
20 20.00%
30 30.00%
40 40.00%
100 100.00%
即最後新增一個百分比列,統計每行佔合計數的百分比,最後結果保留兩位小數(四舍五入)
這個問題我們困擾了很多天沒法解決,有能解決的朋友我們將不勝感激,測試通過的話高分贈送,謝謝熱心的朋友。
[解决办法]
Sub 增加合计和百分比()
r = [A65536].End(xlUp).Row '获取A列最后一个数据所在单元格的行号
Cells(r + 1, 1).Formula = "=SUM(A1:A " & r & ") " '在A列最后一个数据之后增加合计
Range( "B1:B " & r + 1).FormulaR1C1 = "=RC[-1]/ " & Cells(r + 1, 1) '设置B列公式
[B:B].NumberFormatLocal = "0.00% " '设置B列格式
End Sub
[解决办法]
//非數字型的字符串應該怎麼判定?
Dim IAmNumber As Boolean
If IsNumeric(cell) Then
IAmNumber = True
Else
IAmNumber = False
End If