Excel VBA宏-在第一个单元格中查找文本,替换相邻单元格中的值
处理杂货商提供的供应商销售文件,其中列出了他们销售的单位数量。问题是,他们的excel表格和记录销售的方式(我无法更改)并没有区分单条销售和盒子销售——所以有些行表示“Mint Bar”=1销售,有些行表示“Mint Bar Box”=1销售。表中的单位值是相同的,但“框”实际上应该=12(因为框是12个单位,而不仅仅是1) 第二个问题是,每次出现“框”时,值都需要为n*12(因此1box*12=12条) 因此,我正在寻找一些代码来帮助我。我知道这在SQL中很容易,而且运行excel宏的经验较少 -- 固定的: 如果方框出现在D2、D6、D8等中:Excel VBA宏-在第一个单元格中查找文本,替换相邻单元格中的值,vba,excel,Vba,Excel,处理杂货商提供的供应商销售文件,其中列出了他们销售的单位数量。问题是,他们的excel表格和记录销售的方式(我无法更改)并没有区分单条销售和盒子销售——所以有些行表示“Mint Bar”=1销售,有些行表示“Mint Bar Box”=1销售。表中的单位值是相同的,但“框”实际上应该=12(因为框是12个单位,而不仅仅是1) 第二个问题是,每次出现“框”时,值都需要为n*12(因此1box*12=12条) 因此,我正在寻找一些代码来帮助我。我知道这在SQL中很容易,而且运行excel宏的经验较少
=if(Cell="Box", 12*D2, 12*D6, 12*D8)
向下拖动工作表中所有行的公式
您必须在宏中执行此操作吗?我想再加一个专栏,上面写着
=if(Cell=“Mint Bar Box”,12,1)
@Meaghan如果需要,您还可以乘以售出的单位数量。如果单元数在单元格B4中,请使用=If(cell=“Mint Bar Box”,12*B4,B4)
@jjj,好的呼叫。事实上,根据标题,似乎Meaghan已经有了一个数量列,因此我们甚至不需要添加另一个列,甚至不需要使用=if(ISNUMBER(FIND(“BOX”),UPPER(desc_cell)),12,1)*qty_cell
或(如果“BOX”始终是最后一位)=if(RIGHT(desc_cell,4)=“BOX”,12,1)*谢谢大家!我把事情弄得太复杂了。