在excel的宏里面 “向下移动一行” 如何写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在excel的宏里面 “向下移动一行” 如何写相关的知识,希望对你有一定的参考价值。

我的excel表里的第三行是个固定行,这行的数据是随公式在变动的
我现在想编写一个宏,让计算机自动复制第三行的值到第四行,当程序执行完一遍就自动复制第三行的数据到第5行,然后第6行,第7行,一直下去。我的宏程序如下:
Sub Macro4()
Windows("book1.xls").Activate
Cells.Select
Selection.Copy
ActiveSheet.Next.Select
Windows("book2.xls").Activate
Cells.Select
ActiveSheet.Paste
ActiveSheet.Next.Select
Rows("3:3").Select
Application.CutCopyMode = False
Selection.Copy

Rows("4:4").Next.Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=1
ActiveSheet.Previous.Select
End Sub

问题出在 Rows("4:4").Next.Select
我想知道如何表示相对于第4行的下移一行。这个相对是相对excel的表格里的行。因为我可以设置冻结窗格来达到第4行的下一行是第5行,第6行,第7行。。。。的效果。

可以先判断一下最后一个非空的行数,再复制第三的数据到最后一个非空的行


a = [a65536].end(xlup).row

Rows(3).Copy cells(a + 1,1)

你试试看
参考技术A Sub xx()
For i = 4 To 10 '设复制到第10行。
Rows(3).Copy
Rows(i).Select
ActiveSheet.Paste
Next
End Sub
参考技术B 把Rows("4:4").Next.Select修改为:
Range(Chr(64 + ActiveCell.Column) & ActiveCell.Row + 1).Select即可。
参考技术C 用offset函数

OFFSET

以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或单元格区域。并可以指定返回的行数或列数。

语法

OFFSET(reference,rows,cols,height,width)

Reference 作为偏移量参照系的引用区域。Reference 必须为对单元格或相连单元格区域的引用;否则,函数 OFFSET 返回错误值 #VALUE!。

Rows 相对于偏移量参照系的左上角单元格,上(下)偏移的行数。如果使用 5 作为参数 Rows,则说明目标引用区域的左上角单元格比 reference 低 5 行。行数可为正数(代表在起始引用的下方)或负数(代表在起始引用的上方)。

Cols 相对于偏移量参照系的左上角单元格,左(右)偏移的列数。如果使用 5 作为参数 Cols,则说明目标引用区域的左上角的单元格比 reference 靠右 5 列。列数可为正数(代表在起始引用的右边)或负数(代表在起始引用的左边)。

Height 高度,即所要返回的引用区域的行数。Height 必须为正数。

Width 宽度,即所要返回的引用区域的列数。Width 必须为正数。

说明

如果行数和列数偏移量超出工作表边缘,函数 OFFSET 返回错误值 #REF!。

如果省略 height 或 width,则假设其高度或宽度与 reference 相同。

函数 OFFSET 实际上并不移动任何单元格或更改选定区域,它只是返回一个引用。函数 OFFSET 可用于任何需要将引用作为参数的函数。例如,公式 SUM(OFFSET(C2,1,2,3,1)) 将计算比单元格 C2 靠下 1 行并靠右 2 列的 3 行 1 列的区域的总值。

示例

如果您将示例复制到空白工作表中,可能会更易于理解该示例。

公式 说明(结果)
=OFFSET(C3,2,3,1,1) 显示单元格 F5 中的值 (0)
=SUM(OFFSET(C3:E5,-1,0,3,3)) 对数据区域 C2:E4 求和 (0)
=OFFSET(C3:E5,0,-3,3,3) 返回错误值 #REF!,因为引用区域不在工作表中

如何在 Chromebook 上的 Visual Studio Code 中向上或向下移动一行

【中文标题】如何在 Chromebook 上的 Visual Studio Code 中向上或向下移动一行【英文标题】:How to Move a Line Up or Down in Visual Studio Code on Chromebook 【发布时间】:2019-06-09 15:27:37 【问题描述】:

我知道如何在 Mac、Linux 和 Windows 上执行此操作,但它不适用于 Chromebook。您可能希望它像 Win/Linux 一样是 alt-up/down,但这被视为 home 和 end。

有人知道诀窍吗?

【问题讨论】:

你确定吗?您可以转到Selection -> Move Line Up 并阅读该选项旁边的快捷方式吗? 【参考方案1】:

Alt + Up/DownCtrl + Alt + Up/Down 由 Chromebook 保留。您可以在 VS Code 中打开 File --> Preferences --> Keyboard Shorcuts 并将 Move Line Up/Down 设置更改为其他设置。

Chromebook keyboard shortcuts

Chromebook keyboard shortcuts image

【讨论】:

谢谢!将它们设置为 ctrl+shift+UpArrow/DownArrow。【参考方案2】:

有一个简单的方法。

只需打开 google-chrome 并在 URL 栏中输入 chrome://flags,进入实验页面。

搜索 Deprecate Alt based Six-pack ,然后启用此功能。

重启。

然后你可以使用默认的快捷键在 VSCode 中上下移动行。

【讨论】:

以上是关于在excel的宏里面 “向下移动一行” 如何写的主要内容,如果未能解决你的问题,请参考以下文章

IOS Swift TableView:有没有办法将第一个单元格向下移动一行

linux 常用命令积累

vim 使用

JDBC——ResultSet结果集对象

excel里面的宏怎么设置快捷键

vscode常用快捷键操作及常用插件