如果工作表包含大量公式,并且要将這些公式轉換為值,請使用此代碼。
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
請注意,您需要将此代碼插入工作表代碼窗口(而不是模塊内代碼窗口)。因為這是一個事件代碼
30個有用的Excel VBA代碼(1~5)
30個有用的Excel VBA代碼(6~10)
私信 SQL 可以獲取SQL代碼的Excel文件私信 視頻 可以獲取54集VBA入門視頻私信 VBA或 vba 可以獲取文章中含VBA代碼的Excel文件,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!