2011-09-26 98 views
1

我有一个Excel文件应该有文本'UNK'作为单元格A10的前3个字母(我不在乎UNK之后发生了什么)。如果它不符合这个文本,我需要在Excel文件的顶部插入一个空行。出于某种原因,我的代码没有正确评估,我不知道为什么。我正在使用:Excel VBA插入行,直到文本匹配

If Left(A10, 3) <> "UNK" Then 
    Rows("1:1").Select 
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
End If 

正如你可能知道的,我是这种类型的代码的新手。任何帮助深表感谢。

回答

1
这个

什么?它循环直到A10空白或找到UNK。

Do While Range("A10") <> "" 
    If Left(Range("A10"), 3) <> "UNK" Then 
     Rows("1:1").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
    Else 
     Exit Do 
    End If 
    Loop 
+0

这就是我一直在寻找的。工作很棒!谢谢。 –

0

我将其更改为:

If Left(Range("A10"), 3) <> "UIC" Then 
    Range("A1").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
End If 
+0

嗯,也许我没有让我的帖子尽可能清晰。插入一行后,我需要重新评估并确保A10以“UNK”开头。如果它仍然没有,请继续在文件顶部添加空白行。 –