Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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
Vba 计算一个范围并基于行条目写入另一列_Vba_Excel - Fatal编程技术网

Vba 计算一个范围并基于行条目写入另一列

Vba 计算一个范围并基于行条目写入另一列,vba,excel,Vba,Excel,我想在一个范围内查找某些值,然后根据这些值在另一列中填充同一行 Column 1 Column 2 Code1 Code10 如果我在宏中指定Code1,我想填充第2列 我有以下代码。我得到一个运行时错误。如何避免运行时错误 Sub Test() With Sheets("Sheet1") Set r = .Range("A:A").Find(what:="Old", LookIn:=xlValues) Dim rownum As Long rownum

我想在一个范围内查找某些值,然后根据这些值在另一列中填充同一行

Column 1       Column 2
Code1
Code10
如果我在宏中指定Code1,我想填充第2列

我有以下代码。我得到一个运行时错误。如何避免运行时错误

Sub Test()

With Sheets("Sheet1")

    Set r = .Range("A:A").Find(what:="Old", LookIn:=xlValues)
    Dim rownum As Long
    rownum = r.Row
    Dim rownum2 As Long
    rownum2 = rownum - 1

    With Sheets("Sheet1")

        Set r2 = .Range("C6:C" & rownum2)
        Dim cell As Variant

        For Each cell In r2
           If Cells.Value = ("Code1" Or "Code2" Or "Code3" Or "Code4") Then
                .Select
                .Offset(0, 7).Value = "Special"
            End If
        Next cell

    End With

End With

End Sub

我把它清理了一点:

Sub Test()
Dim r2 As Range
Dim rownum2 As Long
Dim cell As Range

With Sheets("Sheet1")
    rownum2 = .Range("A:A").Find(what:="Old", LookIn:=xlValues).Row - 1
    Set r2 = .Range("C6:C" & rownum2)
End With

For Each cell In r2
    If cell.Value = "Code1" Or cell.Value = "Code2" Or cell.Value = "Code3" Or cell.Value = "Code4" Then
        cell.Offset(0, 7).Value = "Special"
    End If
Next cell

End Sub

主要问题是国际单项体育联合会的声明。有关使用
语句的正确方法,请参见上文。

我对其进行了一些清理:

Sub Test()
Dim r2 As Range
Dim rownum2 As Long
Dim cell As Range

With Sheets("Sheet1")
    rownum2 = .Range("A:A").Find(what:="Old", LookIn:=xlValues).Row - 1
    Set r2 = .Range("C6:C" & rownum2)
End With

For Each cell In r2
    If cell.Value = "Code1" Or cell.Value = "Code2" Or cell.Value = "Code3" Or cell.Value = "Code4" Then
        cell.Offset(0, 7).Value = "Special"
    End If
Next cell

End Sub

主要问题是国际单项体育联合会的声明。有关使用
语句的正确方法,请参见上文。

在顶部执行所有声明。我想没有必要使用with语句,通常情况下,对使用with的同一项进行操作。您可以在with上搜索with的用法,并检查为什么两个with语句用于sheet1Do顶部的所有声明。我想没有必要使用with语句,一般来说,对使用with语句的同一项进行操作。你可以在with语句的使用上搜索with语句,检查为什么两个with语句用于sheet1Great!非常感谢,太好了!非常感谢。