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
Excel 检查If循环中的单元格不是空的_Excel_Vba - Fatal编程技术网

Excel 检查If循环中的单元格不是空的

Excel 检查If循环中的单元格不是空的,excel,vba,Excel,Vba,我的嵌套If循环无法正常工作 我想检查TestTable列中的数据,如果其中有一个数字,如果单元格为空,我想让它转到下一个I 但是,没有运行时错误,出于某种原因,它只是复制每个单元格,完全忽略非空部分 Sub MoveData Dim InTbl As ListObject, TeTbl As ListObject, i As Long, LastRow As Long, AmendedCCY Set InTbl = ThisWorkbook.Sheets("Input").Range("In

我的嵌套If循环无法正常工作

我想检查TestTable列中的数据,如果其中有一个数字,如果单元格为空,我想让它转到下一个I

但是,没有运行时错误,出于某种原因,它只是复制每个单元格,完全忽略非空部分

Sub MoveData
Dim InTbl As ListObject, TeTbl As ListObject, i As Long, LastRow As Long, AmendedCCY

Set InTbl = ThisWorkbook.Sheets("Input").Range("Input").ListObject
Set TeTbl = ThisWorkbook.Sheets("Input").Range("TestTab").ListObject
Set AmendedCCY = InTbl.ListColumns(4).DataBodyRange

LastRow = AmendedCCY.Rows.Count

    For i = 1 To LastRow

        If Not IsEmpty("Input[Amended]") Then
         TeTbl.DataBodyRange(i, 2).Value = InTbl.DataBodyRange(i, 4).Value
        End If

    Next
End Sub

我还使用了以下方法:

如果输入[修改],则

如果IsEmptyInput[修订]=False,则

我猜输入[Modified]有问题,但我不知道是什么。

输入[Modified]只是一个常量字符串,用字符填充,因此它永远不会为空

您需要访问包含您正在查找的信息的单元格,例如:

IsEmpty(InTbl.DataBodyRange(i, 4).Value)
显然,我不知道您是否应该查看第4列或另一列,因此请相应地更改该值4。

您是否尝试过在不同的变量上使用debug.print?你有没有检查过电池确实是空的?i、 e.包含空格。