Menghilangkan rumus di Excel terkadang menjadi tugas yang memakan waktu, terutama jika bekerja dengan data dalam jumlah besar.
Meskipun cara manual bisa dilakukan misalnya dengan copy kemudian paste special values pada semua sheet, ada solusi yang jauh lebih efisien dan cepat, yaitu menggunakan VBA (Visual Basic for Applications).
VBA memungkinkan kita untuk mengotomatiskan banyak tugas di Excel, termasuk menghapus rumus tanpa mempengaruhi nilai data.
Dalam artikel ini, kita akan membahas bagaimana cara menggunakan VBA untuk menghilangkan rumus dengan cepat dan efektif, dengan beberapa langkah saja.
Disini saya akan tampikan 3 cara
Cara pertama adalah dengan proses assignment atau memasukan nilai yang sama ke cells yang sama. Cara ini saya simpan sebagai opsi pertama karena sangat simple.
Untuk membuatnya langkah-langkahnya sebagai berikut:
Sub BersihkanRumus()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.UsedRange.Value = ws.UsedRange.Value
Next ws
End Sub
Setelah itu jalankan (Tekan tanda Play di Menu Bar)
Cara ini sama seperti cara manual dimana Cell di copy kemudian di pastespecial value, hanya saja bedanya disini menggunakan script VBA sehingga bisa langsung dijalankan ke semua sheet secara otomatis.
Langkahnya sama seperti diatas, tambahkan module jika belum ada, setelah itu pastekan script dibawah ini ke module kemudian jalankan.
Sub BersihkanRumus()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
With ws.UsedRange
.Copy
.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, _
SkipBlanks:=False, _
Transpose:=False
Application.CutCopyMode = False
End With
Next ws
End Sub
Cara ketiga ini lebih spesifik dimana cell yang dihilangkan rumusnya, hanya cell yang menggunakan Formula saja, cells lain yang tidak menggunakan sebuah rumus akan diabaikan atau tidak perlu diproses.
Copykan script dibawah ini ke module, kemudian jalankan.
Sub BersihkanRumus()
Dim ws As Worksheet
Dim rng As Range
On Error Resume Next
For Each ws In ThisWorkbook.Worksheets
Set rng = ws.Cells.SpecialCells(xlCellTypeFormulas)
On Error GoTo 0
If Not rng Is Nothing Then
rng.Value = rng.Value
End If
Next ws
End Sub