gpt4 book ai didi

vba - 替换单元格值以包含excel中总数的百分比

转载 作者:行者123 更新时间:2023-12-04 21:59:12 25 4
gpt4 key购买 nike

我有一个包含实体、它们的特征、特征值和总数的 excel 表,如下所示:

Entity  CHAR1   CHAR2   CHAR3   CHAR4   Total
1 10 20 5 5 40
2 5 100 30 25 160
3 25 25 10 20 80

现在我想用百分比替换这些值,其中每行的总列分别被视为 100%。
在此示例中,这将导致:
Entity  CHAR1   CHAR2   CHAR3   CHAR4
1 25 50 12,5 12,5
2 3,125 62,5 18,75 15,625
3 31,25 31,25 12,5 25

由于我的数据集很大,我想知道是否有一个快速的解决方案来做到这一点?我被卡住了,因为在每个单元格中放置一个公式将需要使用单元格本身中的旧值来计算新值。并且使用新的工作表可能会给我一些性能问题。

提前致谢

最佳答案

运行这个子程序,一切都应该按照你的要求工作(请注意,你需要定义 TotalColumn 列号(因为它在示例中并不明显)

Sub MakePercent()
Dim Cell As Range, CalcRange As Range, TotalColumn As Variant
TotalColumn = 'Write the column number or letter here
Set CalcRange = ActiveSheet.Range(ActiveSheet.Cells(2,2), ActiveSheet.Cells(ActiveSheet.UsedRange.Rows.Count,TotalColumn - 1))
For Each Cell In CalcRange
Cell.Value = CDbl(Cell.Value) / CDbl(ActiveSheet.Cells(Cell.Row,totalColumn))
Next Cell

End Sub

关于vba - 替换单元格值以包含excel中总数的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38244566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com