Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/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
Loops 单元格(i,j).值无法比较字符串_Loops_Find_Compare_Cell - Fatal编程技术网

Loops 单元格(i,j).值无法比较字符串

Loops 单元格(i,j).值无法比较字符串,loops,find,compare,cell,Loops,Find,Compare,Cell,我有一个单元格在a范围内,包含帐户199。我正在使用.Cells(rownum,1)查找字符串 If ActiveWorkbook.Worksheets("Startsheet").Cells(rownum, 1).Value = "Account 199" Then <DO SOMEJOB> End If 如果ActiveWorkbook.worksheet(“Startsheet”).Cells(rownum,1).Value=“Account 199”,则 如果结束 在

我有一个单元格在a范围内,包含帐户199。我正在使用.Cells(rownum,1)查找字符串

If ActiveWorkbook.Worksheets("Startsheet").Cells(rownum, 1).Value = "Account 199" Then 
<DO SOMEJOB> 
End If
如果ActiveWorkbook.worksheet(“Startsheet”).Cells(rownum,1).Value=“Account 199”,则
如果结束
在特定工作表中,在rownum的实际位置,使用IF进行比较不起作用,并且作业未完成, 但是 当在实际位置上方引入单独的行时,则使用IF的上述比较工作正常

尝试将.Value替换为.Text,同时使用Range和Cells函数,但没有结果

帐户188或帐户177看起来不错,但不是帐户199

有什么建议吗

 Sub test()
Dim rownum As Long
Dim startrow As Long
Dim endrow As Long
Dim lastrow As Long
Dim ant As Long
Dim wasp As Long
lastrow = Worksheets("Startsheet").Range("A65536").End(xlUp).Row
With ActiveWorkbook.Worksheets("StartSheet").Range("A1:A" & lastrow)
wasp = 1
ant = 0
startrow = 0
For rownum = 1 To lastrow
Do
''''''''''''''''''Account 199'''''''''''''''''''''''''''''''''''''''''''''
If ActiveWorkbook.Worksheets("Startsheet").Cells(rownum, 1).Value Like "Account 199" Then
      startrow = rownum
      wasp = startrow
      ant = 0
   End If

    rownum = rownum + 1
    wasp = wasp + 1

If (ant = 2) Then Exit For
Loop Until .Cells(wasp, 1).Value = "@01\QPosted@"
If startrow <> 0 Then
ant = ant + 1
End If

endrow = rownum
rownum = rownum + 1

If ant = 2 Then
Worksheets("StartSheet").Range(startrow & ":" & wasp - 2).Copy
Sheets("Endsheet").Select
Range("A2").Select
ActiveSheet.Paste
End If
Next rownum
End With
End Sub
子测试()
Dim rownum尽可能长
黯淡的星空如长
暗尾行与长尾行相同
最后一排一样长
暗淡的蚂蚁
暗黄蜂一样长
lastrow=工作表(“开始表”).范围(“A65536”).结束(xlUp).行
使用ActiveWorkbook.Worksheets(“StartSheet”).Range(“A1:A”和lastrow)
黄蜂=1
ant=0
startrow=0
对于rownum=1到lastrow
做
199号账户
如果ActiveWorkbook.Worksheets(“Startsheet”).Cells(rownum,1).Value类似于“Account 199”,则
startrow=rownum
黄蜂
ant=0
如果结束
rownum=rownum+1
黄蜂=黄蜂+1
如果(ant=2),则退出
循环直到.Cells(wasp,1).Value=“@01\QPosted@”
如果startrow为0,则
ant=ant+1
如果结束
endrow=rownum
rownum=rownum+1
如果ant=2,则
工作表(“StartSheet”).Range(startrow&“:”&wasp-2)。复制
工作表(“结束表”)。选择
范围(“A2”)。选择
活动表。粘贴
如果结束
下一行
以
端接头


我认为您可能需要提供更多关于rownum值来源的上下文。我想知道您是否会遇到这个问题,因为单元格从1开始,但范围是0。快速测试可能是将rownum替换为rownum+1,并查看行为是否有所改善。还想知道用“like”替换=是否有帮助。@JeremyKahan即使是like也不能获取结果。请提供任何帮助。当循环条件为true时,rownum将递增三倍。因此,第10行似乎从未被选中。从8点一直到11点。也就是说,如果您在中使用next rownum for..next,那么手动执行rownum=rownum+1两次也会把您搞砸