Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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_Shape - Fatal编程技术网

Excel 排序时如何使形状跟随行?

Excel 排序时如何使形状跟随行?,excel,vba,shape,Excel,Vba,Shape,我已经创建了一个宏,我分配给一个形状,它允许我点击形状来隐藏或显示图片。这太棒了 我现在要做的是将此形状链接到电子表格的一行,这样当我对电子表格排序时,我的形状将跟随同一行。当我排序时,它当前停留在同一个单元格上(我在排序时确实选择了所有单元格) 到目前为止,我所尝试的: -我右键单击并将形状的属性设置为“随单元格移动并调整大小”。这并不能防止问题的发生 -在包含形状的单元格中键入“=单元格的名称”,但不起作用 提前谢谢 编辑:对其重新措辞您可以使用形状的.Left和.Top属性将其移动到工作表

我已经创建了一个宏,我分配给一个形状,它允许我点击形状来隐藏或显示图片。这太棒了

我现在要做的是将此形状链接到电子表格的一行,这样当我对电子表格排序时,我的形状将跟随同一行。当我排序时,它当前停留在同一个单元格上(我在排序时确实选择了所有单元格)

到目前为止,我所尝试的:

-我右键单击并将形状的属性设置为“随单元格移动并调整大小”。这并不能防止问题的发生

-在包含形状的单元格中键入“=单元格的名称”,但不起作用

提前谢谢


编辑:对其重新措辞

您可以使用形状的.Left和.Top属性将其移动到工作表上的固定范围。要将其保留在某一行中,您只需要.Top属性

以下示例假设您希望在第7行保留一个名为“示例”的形状:

ActiveWorksheet.Shapes("Example").Top = ActiveWorksheet.Range("7:7").Top

形状的
移动和大小与单元格的属性将起作用,但形状必须精确地适合单个单元格,以便在排序时起作用


单击形状,按住
Alt
键并调整每个角的大小。它应该卡入电池的每个角落(稍微小心)。如果有帮助的话,增加缩放。

在形状后面的单元格中隐藏一些文本,然后进行排序。这对我很管用。我还将形状属性设置为“随单元格移动并调整大小”。例如,我的行上有一个删除按钮。按钮文本显示“删除”。按钮形状很小,可以放在一个单元格中,所以在它后面,我键入了“删除”这个词。按钮形状将其覆盖,因此没有人可以看到它,我还将字体颜色设置为白色,以便在打印时不会显示。

不清楚………是否希望形状移动或保持固定??是否将形状左上角下的单元格包括在排序范围内?抱歉,我意识到我不清楚:我希望我的形状与其他行一样移动当我分类不同的时候。到目前为止,它只是不移动,所以我希望它“跟随”同一条线或“保持”同一条线。非常感谢你们的快速回答/评论,你们真的很有帮助!当我意识到问题不清楚时,我重新措辞了。我的问题正好相反:我希望我的形状在排序时与线一起移动,但它没有。在这种情况下,您需要提供有关正在排序的数据以及如何排序的更多信息。当然。整个电子表格按如下方式排序:第一:D列的字母顺序,第二:我必须经常在E、F或G列的字母顺序之间切换。如果这是相关的,这就是我创建宏指令形状的方式:我假设形状应该保留的行是您正在排序的表的一部分。然后,该行是否在D、E、F或G列中包含唯一的值?对我来说,这似乎很快,但当我以不同方式排序时,它仍然不会移动:注意:“调整大小”功能一直在工作,形状会随着列的大小而改变。我会将其剪切并粘贴回去,或者先将其缩小,并重新调整它的大小-Excel对此有点挑剔。但是,该单元格是否在表的可排序区域中?它看起来和它分开了。我把它剪下来,贴在桌子中间,再也不做任何事情。(我排序时选中了“移动并调整单元格大小”属性)。不过这是个好主意:(