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

24.png


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


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


2b3be998-0aac-4260-9b76-f787f25cecb7.png


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


ae56074f-d47b-4181-9362-102b3f5dbe59.png


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


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


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


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


1de43318-f708-4a12-8cc7-ee063b68b4ee.png


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



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



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


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的操作界面。选择需要调整行高的表格行,再次点击“视图-宏-查看宏”。


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


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


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


猜你喜欢

转载自blog.51cto.com/12297439/2530029