分享

30个有用的Excel VBA代码(11~15)

 shelbypf 2019-04-03

30个有用的Excel VBA代码(11~15)

11.将所有公式转换为值

如果工作表包含大量公式,并且要将这些公式转换为值,请使用此代码。

Sub ConvertToValues() With ActiveSheet.UsedRange .Value = .Value End With End Sub

此代码可以自动将使用公式的值转换为值

12.有公式的单元格锁定

当您有大量的计算并且不想意外的删除或更改时,您可能希望使用把有公式的单元格进行锁定。

下面是将锁定所有具有公式的单元格的代码,而所有其它单元格都未锁定。

Sub LockCellsWithFormulas()  With ActiveSheet  .Unprotect  .Cells.Locked = False  .Cells.SpecialCells(xlCellTypeFormulas).Locked = True  .Protect AllowDeletingRows:=True  End With End Sub

13.保护工作簿中所有的工作表

使用以下代码一次性保护工作簿中的所有工作表

Sub ProtectAllSheets() Dim ws As Worksheet For Each ws In Worksheets ws.Protect Next ws End Sub

此代码将逐个浏览所有工作表并对其进行保护。

如果要取消所有工作表的保护,可以使用 ws.unProtect

14.在所选内容中每隔一行后插入一行

如果要在选定区域中的每一行后插入空行,请使用此代码。

Sub InsertAlternateRows() Dim rng As Range Dim CountRow As Integer Dim i As Integer Set rng = Selection CountRow = rng.EntireRow.Count  For i = 1 To CountRow  ActiveCell.EntireRow.Insert  ActiveCell.Offset(2, 0).Select  Next i End Sub

同样,您可以修改此代码,以便在所选范围内的每一列之后插入一个空白列

15.自动在相邻单元格中插入日期和时间戳

当您想要跟踪活动时,可以使用时间戳。

使用此代码在创建条目或编辑现有内容时在相邻单元格中插入日期和时间戳。

Private Sub Worksheet_Change(ByVal Target As Range)On Error GoTo Handler If Target.Column = 1 And Target.Value <> '' Then Application.EnableEvents = False Target.Offset(0, 1) = Format(Now(), 'dd-mm-yyyy hh:mm:ss') Application.EnableEvents = True End If Handler: End Sub

请注意,您需要将此代码插入工作表代码窗口(而不是模块内代码窗口)。因为这是一个事件代码

私信 SQL 可以获取SQL代码的Excel文件

私信 视频 可以获取54集VBA入门视频

私信 VBA或 vba 可以获取文章中含VBA代码的Excel文件

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多