分享

利用VBA实现每一行的行高,都在原来的基础上增加一定的高度

 满泉ca85upjdlw 2020-09-08
利用VBA实现每一行的行高,都在原来的基础上增加一定的高度

你的工作中是否会处理一个单元格中存放很多内容的表格?如果会的话,那你是否遇到过打印不完整的问题?

比如下图所示的这个表格,每个单元格中的文字都特别的多,在显示的时候,是可以正常显示的。

利用VBA实现每一行的行高,都在原来的基础上增加一定的高度

可是一旦点击打印预览,就可以看到表格中会出现前后几行的文字被压线或打印不出来的问题。

利用VBA实现每一行的行高,都在原来的基础上增加一定的高度

由于Excel对一个单元格中存储的字符数量是有限制的,所以针对这个问题,我们只能通过缩小字号、调整行高和打印时缩放打印等一系列手法来尝试解决。

缩小字号和缩放打印都会导致文字变小,影响内容阅读的清晰度。如果不希望文字变小,那我们就只能通过调整行高来解决这个问题。可现在的问题是,如果每一行的行高都想增大一点点,把所有行都选定起来,拖拉行高会导致所有行的行高都变成一样的。

如果想要实现每一行的行高都在原来的基础上增加一定的高度,我们就只能通过VBA的方式来解决这个问题了。

有“开发工具”选项卡,就在开发工具选项卡中点击“录制宏”。没有“开发工具”选项卡,就点击“视图-宏-录制宏”。

利用VBA实现每一行的行高,都在原来的基础上增加一定的高度

启动录制之后,不需要进行任何的操作,再点击“视图-宏-停止录制”。之后再点击“查看宏”。

利用VBA实现每一行的行高,都在原来的基础上增加一定的高度

在进入到宏编辑器之后,将之前录制的宏1的内容删除。

利用VBA实现每一行的行高,都在原来的基础上增加一定的高度

之后将底部这段代码复制粘贴到刚刚的位置。

Sub 调整行高()

Application.ScreenUpdating = False

Dim rh, i As Integer

rh = InputBox(prompt:='输入要增加或减少的行高:', Title:='调整行高')

For i = 1 To Selection.Rows.Count

Selection.Rows(i).RowHeight = Selection.Rows(i).RowHeight + rh

Next i

Application.ScreenUpdating = True

End Sub


关闭宏的编辑器,回到Excel的操作界面。选择需要调整行高的表格行,再次点击“视图-宏-查看宏”。

利用VBA实现每一行的行高,都在原来的基础上增加一定的高度

此时列表中就有了这个“调整行高”的宏了,点击“执行”。弹出输入要增加或减少的行高的对话框,增加就输入正数,减少就输入负数。

利用VBA实现每一行的行高,都在原来的基础上增加一定的高度

点击“确定”之后,就可以批量完成所选择的行的高度的增加或减少了。

你还可以将这个宏添加到功能区选项卡或快速访问工具栏中,以便于以后可以快速调用。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多