Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 将单元格的第一个实例重命名一件事,然后重命名下一件事?_Excel_Vba - Fatal编程技术网

Excel 将单元格的第一个实例重命名一件事,然后重命名下一件事?

Excel 将单元格的第一个实例重命名一件事,然后重命名下一件事?,excel,vba,Excel,Vba,我正在尝试编写一个宏,根据列中的单元格的值重命名它们。单元格是交替的,因此有多个我想重命名的单元格实例 例如 数据列可能如下所示(之前和之后): 宏将根据单元格的值重命名单元格内容。我不能简单地编写一个宏来重命名Product 3=>Cat,因为它会将两个单元格都重命名为Cat。我希望第二个产品3是狗 然后,我的产品列表会再重复4到5次,因此此宏需要在另一个循环中运行。您可以通过工作表函数实现这一点。请在相邻列中填写此公式,或覆盖产品名称列表 =CHOOSE(MOD(ROW()-1,5)+1,"

我正在尝试编写一个宏,根据列中的单元格的值重命名它们。单元格是交替的,因此有多个我想重命名的单元格实例

例如

数据列可能如下所示(之前和之后):

宏将根据单元格的值重命名单元格内容。我不能简单地编写一个宏来重命名Product 3=>Cat,因为它会将两个单元格都重命名为Cat。我希望第二个产品3是狗


然后,我的产品列表会再重复4到5次,因此此宏需要在另一个循环中运行。

您可以通过工作表函数实现这一点。请在相邻列中填写此公式,或覆盖产品名称列表

=CHOOSE(MOD(ROW()-1,5)+1,"This","That","Else 1","Else 2","Something")
这假设列表从第1行开始,并以相同的方式重复。例如,如果列表从第2行开始,只需调整公式中新名称参数的顺序即可。例如,如果列表从第2行开始,请使用以下内容:

=CHOOSE(MOD(ROW()-1,5)+1,"Something","This","That","Else 1","Else 2")

你对你想做什么的描述不清楚。这将有助于显示实际的before-->after示例。before:Product 1 Product 2 Product 3 Product 4 Product 1 Product 2 Product 3 Product 3 Product 3 Product 4 after:This That other 1 other 2某物This other 1 other 2某物更不清楚!您可以编辑问题并添加格式化的示例。“这个”是什么?只是“这个”这个词?是什么决定了每个“产品*”变成什么?我修正了你的问题,以便更好地了解之前/之后,但仍然不清楚你的产品3重命名是如何工作的。是否有固定的替换列表,以及存储在哪里?它是否一直在替换中循环?(第三个产品3将被替换为什么?)您是否始终希望“产品3”的第一个实例替换为“猫”,第二个实例替换为“狗”?我认为没有人理解你想要实现的目标。假设这是别人的问题,你是第一次读它。你能理解吗?试着从这个角度改写你的问题。
=CHOOSE(MOD(ROW()-1,5)+1,"Something","This","That","Else 1","Else 2")