是否在excel中使用宏编辑另一个表中的单元格值?

是否在excel中使用宏编辑另一个表中的单元格值?,excel,worksheet,vba,Excel,Worksheet,Vba,我有一个Excel项目,其中包含3个工作表,即“不健康食品”、“健康食品”和“膳食” 这两张食物表包含一份食物清单,以及它们的脂肪、蛋白质和碳水化合物含量。利用这些数据,他们每100克的热量也被计算出来。这些食品分为3个子标题:食品、零食和饮料。我想创建一个宏,该宏将使用每个表上每个食物项旁边的“添加到膳食”按钮启动,该按钮将该行的内容复制到“膳食”类中的第一个可用行 有可能做到这一点吗?如果是这样,怎么做?在我看来,使用按钮引用工作表上的单元格的问题是,按钮是工作表上的对象,这使得获取它们在列

我有一个Excel项目,其中包含3个工作表,即“不健康食品”、“健康食品”和“膳食”

这两张食物表包含一份食物清单,以及它们的脂肪、蛋白质和碳水化合物含量。利用这些数据,他们每100克的热量也被计算出来。这些食品分为3个子标题:食品、零食和饮料。我想创建一个宏,该宏将使用每个表上每个食物项旁边的“添加到膳食”按钮启动,该按钮将该行的内容复制到“膳食”类中的第一个可用行

有可能做到这一点吗?如果是这样,怎么做?

在我看来,使用按钮引用工作表上的单元格的问题是,按钮是工作表上的对象,这使得获取它们在列/行中的位置非常困难

如果您想使用按钮,这里是暴力方法。假设在
健康食品中
您有以下内容:

     A         B      C          D
1    Item      Fat    Protein    Sugar
2    Apple     0      50         5       |Add To Menu|  <-- this is a commandbutton called **Apple**
3    Snickers  100    0          100     |Add to Menu|  <-- this is a commandbutton called **snickers**
对于窃笑者,您需要为苹果添加类似的代码,即

Private Sub Snickers_Click()
    AddMealToMenu Range("A3")
End Sub

如果这对你有效,很好,但这可能需要一些设置,而且是一种蛮力方法。

有必要单击按钮吗?非常有效,谢谢:)另一个问题,假设我正在寻找蛋白质含量最高的食物,我知道我可以使用MAX配方找出哪种食物的蛋白质含量最高,但是我如何让细胞显示食物的名称而不是蛋白质水平?你的意思是在你按下的工作表上有一个按钮,它会突出显示蛋白质含量最高的食物吗?不,我在工作表底部有一个小表格,需要通过公式获得蛋白质含量最高的食物的名称,假设你的食物是C10:C14,蛋白质是D10:D14,然后尝试以下方法:
=间接(地址(匹配(最大值(D10:D14),D10:D14,0)+9,3))
将上述公式中的
3
更改为
1
Private Sub Snickers_Click()
    AddMealToMenu Range("A3")
End Sub