Excel - 从另一个工作表中的工作表中复制某些行

时间:2012-10-31 16:38:57

标签: excel excel-vba excel-2007 excel-formula vba

我已找到解决此问题的方法,但我不知道如何根据我的具体问题定制它们。我以前从未写过marco或任何VBA脚本,所以请具体说明你的答案。

我有一个Excel工作簿,其中包含一个名为“食物”的工作表,以及另外四个名为“零食选择”,“早餐选择”,“午餐选择”和“晚餐选择”的工作表

“食物”工作表中的标题如下所示:

食物量卡路里...... ETC ......类型

其中“类型”包含“早餐”“零食”“午餐”“晚餐”或2种以上选择的组合。

我希望根据“食物”字段中“类型”字段的值将整行复制到相应的“零食选择”,“早餐选择”,“午餐选择”和“晚餐选择”工作表中“工作表。

例如,如果我在“食物”工作表中输入一个新行,其中“类型”字段为“零食/早餐”,我希望该行自动出现在“早餐选择”和“快餐选择”中“工作表。 (我可以删除斜杠或用另一个角色替换它,如果这样更容易)

提前谢谢!

2 个答案:

答案 0 :(得分:3)

带食物的主餐桌(Sheet' Foods'):

Main table with foods (Sheet 'Foods')

早餐表:

Table for breakfasts

在此表中:

A1:食物的种类。为了与其他食物(午餐/谷物/早餐)相匹配,它应该以' *':*breakfast*而不是breakfast开头和结尾。也可以对公式进行更改。

然后我们寻找第一次"早餐"在表格' Foods':

A3:

=IF(ISERROR(MATCH($A$1,Foods!A:A;0)),"",MATCH($A$1,Foods!A:A,0))

结果,将显示许多匹配行。如果不匹配,将显示空白单元格。

然后我们匹配其他数据:

B2:

=IF(A3="","",INDIRECT("Foods!B"&$A3))

D2:改变间接(&#34;食物!B&#34;&amp; $ A3))间接(&#34;食物!D&#34;&amp; $ A3)),E代表E2等。< / p>

第一列下面的A列中的其他行(从A4向下复制):

=IF(ISERROR(A3+MATCH($A$1,INDIRECT("Foods!A"&A3+1&":A60000"),0)),"",A3+MATCH($A$1,INDIRECT("Foods!A"&A3+1&":A60000"),0))

如果不匹配,将显示空白单元格。

我将电子表格示例上传到http://www.bumpclub.ee/~jyri_r/Excel/Type_of_food_on_another_sheet.xls

答案 1 :(得分:0)

寻找excel公式,将多张表中的整行复制到一张表中。尝试复制的行在第一列中有一个“x”。

实施例

表单设置如下:

列            1 2 3 4 5 第1行销售优先级WHID序列SAT      2 X 1 FG 1.FG.01
     3 1 FG 1.FG.01

有很多行,多列和多张纸。

希望将第一列中的每个'X'拉到新的工作表。

任何帮助?