excelvba中的变量及其和
为了缓解夏天的无聊,我决定尝试制作一个Excel程序,根据棋盘游戏《垄断》(board game垄断者)中拥有的房产和房产上的房屋数量(我正在试验的一些新规则),跟踪某人将欠多少钱。我设置了电子表格,这样每个属性都在自己的行中。我希望Excel程序执行以下操作: 假设你在看一个细胞。然后,对于i=1到10(因为我怀疑垄断中超过10个玩家是可行的),如果右边的单元格的值是i,那么将您实际看到的单元格的值添加到玩家i的总和中 我可以生成变量sum1,sum2,sum3,sum10?那么我可以说 sum'i'=sum'i'+单元格值 如果满足第2段中的条件,是否在for循环内 更新:我已经尝试过这个代码,它可以获得玩家1的总和。然而,它为所有玩家提供了玩家1的总和,并且每当有人购买新财产或升级当前财产时更新都很麻烦(每次更新我都需要重新键入公式)excelvba中的变量及其和,vba,excel,variable-variables,Vba,Excel,Variable Variables,为了缓解夏天的无聊,我决定尝试制作一个Excel程序,根据棋盘游戏《垄断》(board game垄断者)中拥有的房产和房产上的房屋数量(我正在试验的一些新规则),跟踪某人将欠多少钱。我设置了电子表格,这样每个属性都在自己的行中。我希望Excel程序执行以下操作: 假设你在看一个细胞。然后,对于i=1到10(因为我怀疑垄断中超过10个玩家是可行的),如果右边的单元格的值是i,那么将您实际看到的单元格的值添加到玩家i的总和中 我可以生成变量sum1,sum2,sum3,sum10?那么我可以说 su
提前谢谢大家!我几乎没有编程经验,非常感谢您的指导:)您正在寻找阵列:
Dim varSum(1 To 10) As Variant
'Access it like this:
varSum(i) = xyz
更新的答案
我认为有几点可以改进:
i
作为函数的参数,但稍后会重新赋值。更好地命名您的参数iPlayer
(我认为它是需要的)编辑(老实说,你不需要VBA来完成这项工作。请看)
monopolySum=sum(i)
。编辑(在这里你可以使用,但我想你知道)
公共函数monopolySum(iPlayer作为整数,rngGame作为范围)作为变量
您正在寻找阵列:
Dim varSum(1 To 10) As Variant
'Access it like this:
varSum(i) = xyz
更新的答案
我认为有几点可以改进:
i
作为函数的参数,但稍后会重新赋值。更好地命名您的参数iPlayer
(我认为它是需要的)编辑(老实说,你不需要VBA来完成这项工作。请看)
monopolySum=sum(i)
。编辑(在这里你可以使用,但我想你知道)
公共函数monopolySum(iPlayer作为整数,rngGame作为范围)作为变量
谢谢@Pira!我将它设置为一个公共函数,但由于某些原因,我无法在工作表的单元格中调用它。嗨@Raman,你确定你使用了
function
而不是你问题中的Sub
?(你说你几乎没有编程经验:)如果你使用过函数,但它不起作用,看看这里:(顺便说一下:我想你必须把代码示例的第二段放到子或函数中,谢谢你的提示,@Pira!我更改了代码,但我有一个新问题(请参见“更新”).你觉得怎么样?好的,看看我的更新。很抱歉,我没有解决重新计算问题的方法…我像你说的那样尝试了SUMIF,它就像一个符咒一样工作;不需要VBA。哦,哈哈。非常感谢你的帮助,@Pira!谢谢@Pira!我把它作为一个公共函数,但出于某些原因,我不能在工作表的单元格中调用它on.Hi@Raman,你确定你使用了函数
而不是你问题中的Sub
(你说你几乎没有编程经验:)如果你使用了函数
,但它不起作用,请看这里:(顺便说一句:我想您必须将代码示例的第二段放入Sub
或Function
中,谢谢您的提示,@Pira!我更改了代码,但我有一个新问题(请参阅“更新”).你觉得怎么样?好的,看看我的更新。很抱歉,我没有解决重新计算问题的方法…我像你说的那样尝试了SUMIF,效果很好;不需要VBA。噢,哈哈。非常感谢你的帮助,@Pira!