VBA:For / if / ElseIf

时间:2018-03-23 11:01:05

标签: excel vba for-loop if-statement

我在Excel中遇到了有关VBA的问题。 我有一个userform,如果用户输入的行不在行中,我希望它被添加。

Range("D1:D1").Select

For i = 1 To 3000

  Zelle = "D" & i
  Range(Zelle).Select
  Wert = ActiveCell

  If Wert = "" Then
   Cells(Wert + 1, 4) = TB_prov
   Exit For
  ElseIf Wert = TB_prov Then
   Exit For
   Else
    Next i

End If
Exit For

我从互联网上拿了一个旧代码,帮助我解决类似的问题,但我不能在这里工作。

我的意图是For循环改变活动单元格, 并且if / elseif条件检查每个单元格。 如果新条目已存在,则会停止。如果单元格为空,则将名称设为。

但它最重要的工作,但为什么呢? 谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

查找匹配列D.如果找不到则添加TB_prov。无需遍历所有值。

with activesheet
    if iserror(application.match(TB_prov, .columns("D"), 0)) then
        .cells(.rows.count, "D").end(xlup).offset(1, 0) = TB_prov
    end if
end with