通过输入坐标复制电子表格中的单元格

通过输入坐标复制电子表格中的单元格

我有一个包含 15346 行的大型电子表格

我在 B2 中输入一个公式,并想将其复制到 B3:B15346。(我不想要 B2 中的值的副本,我想要每个单元格中的调整公式)

有没有办法从键盘输入范围,而不是通过鼠标或箭头/pgdown 向下滚动、错过目标、向上滚动等。

我只想输入“copy(B2,B3:B15346)”或类似内容。

我正在使用 libreoffice,但我希望存在一个通用的解决方案。

编辑:单元格 D2 的公式是=LOOKUP($B2;$'hex rgb'.$A$2:$B$24712)

那么 D3 应该是=LOOKUP($B3;$'hex rgb'.$A$2:$B$24712)

答案1

如果愿意的话,您可以通过“只需输入一些内容”来实现此目的,尽管这不是人们解决 Excel 问题的通常方法。

您可以键入以下内容以执行您的示例,或者根据需要针对其他单元格和范围进行编辑:

Range("b2").Copy : Range("b3:b15346").PasteSpecial

您在称为 VBA“立即窗口”的程序中输入该内容(它有很多用途,但在这里您将它用于您自己的目的)。

要找到它,您可以按Alt-F11打开 VBA 编辑器并在屏幕上查找它。如果您没有看到它,请按Ctrl-G打开它。

本质上,它是一种运行 VBA 命令的方法,无需更大的 VBA 环境即可运行。因此,您可以运行复杂的六个命令,包括声明一个或两个局部变量,但不能使用它从某个宏中获取变量。所以,简化了一些。

上面实际上是两个 VBA 命令(虽然精通 VBA 的人可能会笑着把它们合并成一个),您可以一次执行一个命令,也可以输入两行,然后返回每个命令并通过按每行来“逐步执行”它们Enter。但是,如果您:在单独的命令之间使用它,您可以将它们全部写在一行上,Enter完成后只需按一次,即可让奇迹发生。

别担心,最后一点说.PasteSpecial...在 VBA 中,它与“单元格端”的命令不同。它将粘贴公式,而不是值等。

多年来,在我第一次想学习 VBA 但一直没有时间之后,我保留了一个 Word 文档,其中包含上述方便的代码片段,这样我就可以做一些让公式人员烦恼的事情。(当时我的大部分工作都是使用自己的电子表格,而不是为用户编写它们,这样我就可以拥有用户永远不会容忍的手动方面。)

重点是,直到我读到 Philip Treacy 的提示,我才想到要用它来填充巨大的范围。(叹气……)这将是他这样做的实践的一种用途。

您可以使用“立即窗口”执行很多操作,即使使用(老板不允许的)电子表格也可以享受 VBA 带来的好处。(您实际上可以为此类电子表格编写一些宏,然后将其复制到 Word 文档中,并在下次使用电子表格时粘贴回去,而不必将其保存在它们中,但我发现随着时间的推移,我真的只像这样使用它们,一两行代码来做一些难以完成的基于公式的事情。)

当我在给定的电子表格中一直使用它们时,我会创建一个命名范围,然后在框中Refers to:粘贴行,没有开头=,只有行。Excel 巧妙地保存了它,添加了=和一些双引号。自己输入这些,它拒绝了。去想想吧。然后当我需要它时,我不必打开另一个文档,只需转到名称管理器并在那里复制出公式,然后=在粘贴到立即窗口后删除它和包装双引号,然后运行它。只花费阅读本段所用时间的十分之一。

但这是一种非常简单的方法(“老办法”,只需使用几次之后就不再令人担心),只需键入即可实现许多目标。

此外,通过 Google 查找执行任何特定操作的命令并不困难。通常如此。

答案2

由于您没有真正提到您的最终目标或具体公式,而只是说在 B 列中应用了一个公式,因此判断起来有点困难。但是,一种方法是使用公式化的方式。例如,如果您想将特定函数或公式(例如left)应用于 A 列中的每一行,则可以使用以下方法:

=LEFT(INDEX($A:$A,2,1):INDEX($A:$A,COUNTA($A:$A),1),3)

此公式非常灵活,可创建从第二行开始直到您拥有的值为止的行数的相应数组,这由 控制counta。如果您有缺失值,则必须小心一点,因为公式仅计算非空行。但您可以通过在其中一列中指定运行 ID 或通过指定公式中想要的行数来解决这个问题。当然,公式不依赖于函数left,而只是作为一个例子,您也可以简单地将其插入到您自己的公式中:

=INDEX($A:$A,2,1):INDEX($A:$A,COUNTA($A:$A),1)

答案3

  1. 转到单元格 B15346。(无需滚动,只需在左上角 A1 附近的单元格地址框中输入“B15346”)

  2. 在单元格 B15346 中输入 =$B$2

  3. Ctrl+C手机 B15346

  4. 然后(仍然选择单元格 B15346)按Ctrl+ Shift+ UpArrow(选择将到达 B1)

  5. 保持Ctrl+Shift按下状态,按DownArrow两次(选择将上升至 B3)。

  6. (放开Ctrl+后Shift)n 按Ctrl+V

  7. 完毕

如果有效/无效,请分享。

相关内容