excel - 验证一系列行和列中的值并更新其上的一些值
问题描述
如何让 VBA 验证您在范围或列中的值?
例如,您的范围为 A1 - A10,其值为:
猫,猫,狗,狗,狗,狗,狗,猫,猫,狗。
现在我希望这个逻辑是,当有三只连续的狗时,第三只狗变成老鼠,当前一只是老鼠时,下一只狗将被更新为牛。等2。无论 10 个单元格的排列或模式如何,我都有这个逻辑。所以基本上它会在之后显示如下:
任何对此有想法的人?
非常感谢!
解决方案
这就是我会做的。
创建一个数组:Dim varData(1 To 10) As Variant
然后,将值分配给数组中的位置。
varData(1) = Cells(2,1)
varData(2) = Cells(2,2)
继续前进,直到达到最后一个值。如果您愿意,可以在 for 循环中执行此操作。
然后,在 for 循环中执行 If 语句:
For i = 1 to 10
If varData(i) = "dog" Then
counter = counter + 1
If counter = 3 Then
varData(i) = "Mouse"
Cells(2,i) = "Mouse"
End If
If varData(i-1) = "Mouse" Then
varData(i) = "Cow"
Cells(2,i) = "Cow"
Else
counter = 0
End If
Next i
希望这可以帮助。询问您是否需要任何问题。
一条评论要求添加代码
类似: ''' testNum = int(Rnd(1)) '''' 这会给你一个介于 0 和 1 之间的数字。
然后使用 if else 语句...
For i = 1 to 10
If testNum = 0 Then
Cells(2,i) = "Dog"
Else
Cells(2,i) = "Cat"
If varData(i) = "dog" Then
counter = counter + 1
If counter = 3 Then
varData(i) = "Mouse"
Cells(2,i) = "Mouse"
End If
If varData(i-1) = "Mouse" Then
varData(i) = "Cow"
Cells(2,i) = "Cow"
Else
counter = 0
End If
我确信有更好的方法来做到这一点,但这是一个基本的想法。
威比编码
推荐阅读
- python - 如何在 C 中使用不同的变量作为函数参数?
- angular - 单击路由器时防止重定向到组件
- mysql - mysql 列最后用零填充小数
- android - Unity OnApplicationQuit() 始终无法在 android 上运行
- java - jar 不应该指向项目目录中的文件吗?Eclipse(构建中的 Maven)
- python - 如何避免张量流 keras 中的停滞损失函数
- node.js - Docusign JWT 令牌返回 no_valid_key_or_signatures(节点)
- r - 比较并报告 r tidyverse 中组成员的变化
- python-3.x - 将列表中的每个项目与其余项目进行比较,并在迭代时从列表中删除匹配的元素
- java - java中的线程乘以矩阵