Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Excel中查找多个数字的单元格并更改其值_Excel_Vba - Fatal编程技术网

如何在Excel中查找多个数字的单元格并更改其值

如何在Excel中查找多个数字的单元格并更改其值,excel,vba,Excel,Vba,我想找到一个单元格并在另一个单元格中更改其值,但如何才能对多个单元格执行此操作 Sub replace_sales() Dim ws As Worksheet For Each ws In ActiveWorkbook.Worksheets For i = 1 To 10000 If ws.Cells(i, 1) = "1932597" Then ws.Cells(i, 9) = "0" End If Next i Ne

我想找到一个单元格并在另一个单元格中更改其值,但如何才能对多个单元格执行此操作

Sub replace_sales()

Dim ws As Worksheet

For Each ws In ActiveWorkbook.Worksheets
    For i = 1 To 10000
        If ws.Cells(i, 1) = "1932597" Then
            ws.Cells(i, 9) = "0"
        End If
    Next i
Next ws

End Sub

听起来您可能需要选择案例。在案例部分,您可以指定要测试的数字以及在每种情况下要执行的操作。同一行上可以有多个值。如果使用数字,则不需要“”。这些是用于字符串文本的

Option Explicit
Public Sub replace_sales()
    Dim ws As Worksheet
    For Each ws In ActiveWorkbook.Worksheets
        For i = 1 To 10000
            Select Case ws.Cells(i, 1)
            Case 1932597, 1234, 123
                ws.Cells(i, 9) = 0
            Case 12345
               ws.Cells(i, 9) = 1
            End Select
        Next
    Next ws
End Sub

上面有什么不起作用?你可以从
“1932597”
中删除引号。每本书真的有10000行吗?或者这是你对所有范围的最佳猜测?如果是后者,考虑切换到一个动态范围以避免循环通过空行。谢谢,但是我有两个12345个数字,我想只替换其中一个,而另一个应该是“0”,我怎么可能做到呢?用一个数字替换其中的一个?我有两个数字,相同的数字,我想用5替换其中一个,用8替换另一个??我能把一个换成8,另一个换成5吗??我能把一个换成8,另一个换成5,另一个换成8吗