Excel Do While单元格文本为true

时间:2013-02-07 17:37:53

标签: excel excel-vba vba

我的电子表格设置如下:

Col A
-----
TEXT 1
McCartney, Paul
Lennon, John
Harrison, George
Starr, Ringo
TEXT 2
Lee, Geddy
Lifeson, Alex
Peart, Neil

在B栏中我想添加文字,只要你还没到达'TEXT 2'。例如,我的数据可能如下:

Col A               Col B
-----               -----
TEXT 1              
McCartney, Paul     Beatles
Lennon, John        Beatles
Harrison, George    Beatles
Starr, Ringo        Beatles
TEXT 2              
Lee, Geddy          Rush
Lifeson, Alex       Rush
Peart, Neil         Rush

我尝试了几种“Do While”和“If ... Then ... End If”的组合,但没有任何效果。我该如何编写代码?

2 个答案:

答案 0 :(得分:1)

您不需要VBA - 只需将此公式放在B2

=IF(ISERROR(VLOOKUP("TEXT 2",$A$2:A2,1,0)),"Beatles","")

并自动填充,直到列A中的数据结束。

答案 1 :(得分:0)

  

我在A栏中有三个'标题'行:Open,Gain和Limited。这些名字是静态的。它们之间的行数总是不同的。这些行之间的数据是“Last,First”格式的人名。我正在尝试在行处于“打开”行和“增益”行之间时,在末尾添加一个“打开”列。然后我想把'Gain'这个词放在'Gain'和'Limited'行之间的新栏目中。从那里开始,新专栏将说'有限'。我希望这是有道理的。 - Mr_Thomas 3小时前

这是你在尝试的吗?

将此公式放入单元格B1并将其复制

=IF(ISNA(INDEX(MATCH("Limited",$A$1:$A1,0 ),1,1)),IF(ISNA(INDEX(MATCH("Gain",$A$1:$A1,0 ),1,1)),IF(ISNA(INDEX(MATCH("Open",$A$1:$A1,0 ),1,1)),"","Open"),"Gain"),"limited")

<强> SCREENSHOT

enter image description here