当前位置: 代码迷 >> Office >> 高分征集方案:怎么自動在Excel中增加一列
  详细解决方案

高分征集方案:怎么自動在Excel中增加一列

热度:4340   发布时间:2013-02-26 00:00:00.0
高分征集方案:如何自動在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
  相关解决方案