Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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,我想要的是,如果A列中的单元格值为60,那么C列中同一行中的单元格值必须等于下面的FF代码 Sub column_check2() Dim c As Range Dim alastrow As Long Dim clastrow As Long alastrow = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row clastrow = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row For E

我想要的是,如果A列中的单元格值为60,那么C列中同一行中的单元格值必须等于下面的FF代码

Sub column_check2()

Dim c As Range

Dim alastrow As Long

Dim clastrow As Long

alastrow = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row

clastrow = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row

For Each c In Range("A2:A3" & alastrow & ",C2:C3" & clastrow)


If Not c.Value = "60" And c.Value = "FF" Then

    MsgBox "error" & c.Address

End If

Next c

End Sub

您只需遍历
列A中的每个值
,并检查您的条件(
单元格=60
)。然后,您可以使用
Offset
从循环中的当前单元格向右导航2个单元格,从而调整
列C
中的值



<强>更好的,考虑手动的方式。为目标值筛选

列A
,然后只修改
列C
中的结果单元格。在VBA中重新创建此项将导致解决方案比循环更高效(数据集越大,效率提高越大)


循环浏览一列,但不确定您试图用msgbox做什么
Sub Looper()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")            'Update Sheet Name
Dim lr As Long, Target As Range

lr = ws.Range("A" & ws.Rows.Count).End(xlUp).Row

For Each Target In ws.Range("A2:A" & lr)
    If Target = 60 Then
        Target.Offset(0, 2) = "FF"
    End If
Next Target

End Sub
Sub Filter()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim lr As Long: lr = ws.Range("A" & ws.Rows.Count).End(xlUp).Row

  ws.Range("A1:A" & lr).AutoFilter Field:=1, Criteria1:=60               'Filter
  ws.Range("C2:C" & lr).SpecialCells(xlCellTypeVisible).Value = "FF"     'Apply Values
  ws.AutoFilterMode = False                                              'Remove Filter

End Sub