感谢您花时间阅读我的问题,我不是程序员,我希望我能在这里得到一些帮助。
我想在一个范围内找到一个单元格并改变它的值。
例如,范围A1:A20,If" Sales"在那里(比如使用Vlookup或其他东西) - 然后将其值改为"销售Q1"或者我指定的任何其他内容。
我感谢大家的帮助和时间......
答案 0 :(得分:1)
有点老了,但我已经添加了一点它,以便它找到像字符串一样的值。因此,例如,如果我正在寻找Sales1或sales222,那么我将使用通配符。
Dim ws As Worksheet
For Each ws In Sheets
For i = 1 To 20
If LCase(ws.Cells(i, 1)) Like "sales*" Then 'ensure the search value is lowercase
ws.Cells(i, 1) = "Sales Q1"
End If
Next
Next ws
答案 1 :(得分:0)
Sub replace_sales()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
For i = 1 To 20
If ws.Cells(i, 1) = "Sales" Then
ws.Cells(i, 1) = "Sales Q1"
End If
Next
Next ws
End Sub
你不能简单地使用Ctrl + H. 顺便说一句,此代码现在将在每张活动工作簿中将“Sales”替换为“Sales Q1” - 代码将在1-20行和第1列中查找销售。
答案 2 :(得分:0)
基于上一个答案的代码:
Sub AnyNameYouLike()
For i = 1 To 20
If SheetName.Cells(i, 1) Like "*Sales*" Then
SheetName.Cells(i, 1) = "Sales Q1"
End If
Next
End Sub
引用单元格的调用是:SheetName.Cells(rowNumber, columnNumber)
。这是,列A成为列1,列C是列3,依此类推。
SheetName
不是您在Excel标签中看到的工作表名称。是您在左侧的VBEditor中看到的名称。您在Excel中看到的工作表名称在括号之间表示。
for
指令执行For
指令和Next
指令之间的行多次指示它(在本例中为20次)替换i
每次都有不同的号码(第一次用1,第二次用2,最后一次用20)。
Like
指令允许您执行与=
无关的匹配。 *
表示任何内容,因此如果您使用"*Sales*"
表示您希望匹配包含0或某些字符的任何单元格,则Sales
,然后是0或更多字符。例如,您可以使用"Sales*"
来匹配以Sales
开头的单元格。