excel - 在单元格 B(x) 中查找一个值并替换 C(x) 中的值。偏移 1
问题描述
我想寻求一些excel VB的帮助。
我在 B1:B31 范围内有一列 B。该文本包含“已启用”或“已禁用”字样。我的目标是,当单击按钮时,代码将遍历 B1:B31 范围内的所有值,如果找到文本“已启用”,它将用一个值替换下一列(同一行)。我相信这是偏移量(0,1)。
例子。因此,当代码扫描范围时,它会遇到单元格 B3,如果它在此单元格中找到单词“启用”,那么它会将默认时间估计中的值插入到单元格 C3 中。
解决方案
在这种情况下,您可以这样做,而不是使用 Offset
Sub SetIt()
Dim rg As Range
Set rg = Range("B1:C31")
Dim sngRow As Range
For Each sngRow In rg.Rows
If sngRow.Cells(1, 1).Value = "Enabled" Then sngRow.Cells(1, 2).Value = 1
Next
End Sub
使用 Offset 它看起来像
'With offset
Sub UseOffset()
Dim rg As Range
Set rg = Range("B1:B31")
Dim sngCell As Range
For Each sngCell In rg
If sngCell.Value = "Enabled" Then sngCell.Offset(0, 1).Value = 1
Next
End Sub
第三种方法可能是使用数组
'With Array
Sub UseArr()
Dim rg As Range
Set rg = Range("B1:C31")
Dim vDat As Variant
vDat = rg.value2
Dim i As Long
For i = LBound(vDat) To UBound(vDat)
If vDat(i, 1) = "Enabled" Then vDat(i, 2) = 1
Next i
rg.value2 = vDat
End Sub
推荐阅读
- python - 如何根据条件在数据框中聚合和插入记录?
- android-studio - 为多个类别存储数据的最佳方式?
- ansible - 使用通过 Ansible 调用的“kubectl patch”获取“无法在 struct Container 中找到 api 字段”
- html - 如何为移动设备替换标题背景图像 - 引导程序
- java - 强制类为 Tomcat 会话复制实现 Serializable
- java - 不允许运行 keytool 时是否可以添加 SSL 证书?
- excel - VBA:从 XFA 表单中提取 XML 数据并传递给 XML 解析器
- php - 如何在网站上显示存储在 MySQL 数据库表中的网站链接,但显示为要点击的超链接?
- python - Python webscraping如何只获取body html
- php - 如果字符串中已经存在逗号,则数组内爆到 MySql,然后检索值并爆炸回相同的数组不起作用