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文件 |
|