vault backup: 2025-07-24 16:44:33
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
---
|
||||
id: excel-macros
|
||||
aliases: []
|
||||
tags:
|
||||
- software
|
||||
- guide
|
||||
---
|
||||
# Excel Macros
|
||||
|
||||
Excel macros are a poor solution for most problems,
|
||||
however some simple formatting motions are a good fit.
|
||||
|
||||
This document is a step-by-step process for implementing such a macro,
|
||||
assuming a fresh Excel install.
|
||||
|
||||
## 1. Enable Developer Tools
|
||||
|
||||
```menu
|
||||
File > Options > Customize Ribbon
|
||||
```
|
||||
|
||||
On the right side, under `Main Tabs`, check `Developer`.
|
||||
|
||||
## 2. Create `PERSONAL.XLSB`
|
||||
|
||||
```menu
|
||||
Developer > Code > Record Macro
|
||||
```
|
||||
|
||||
Set `Store macro in:` to `Personal Macro Workbook`
|
||||
and click `OK`, then `Stop Recording`.
|
||||
|
||||
## 3.
|
||||
|
||||
```menu
|
||||
Developer > Visual Basic
|
||||
```
|
||||
|
||||
In the pop-up window, navigate to and double-click
|
||||
"VBAProject (PERSONAL.XLSB)/Modules/Module1"
|
||||
|
||||
Erase the empty macro created in step 2
|
||||
and add desired macros here.
|
||||
My favorite is provided below.
|
||||
|
||||
```vb
|
||||
Sub FillDownEmptyCells()
|
||||
Dim rng As Range
|
||||
Dim cell As Range
|
||||
|
||||
' Check if a range is selected
|
||||
If Selection Is Nothing Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
' Set the selected range
|
||||
Set rng = Selection
|
||||
|
||||
For Each cell In rng
|
||||
If IsEmpty(cell.Value) Then
|
||||
' Copy cell above to empty cell
|
||||
cell.Value = cell.Offset(-1, 0).Value
|
||||
End If
|
||||
Next cell
|
||||
|
||||
End Sub
|
||||
```
|
||||
|
||||
Use `Ctrl+S` or the save icon to save the edits
|
||||
then close the Visual Basic window.
|
||||
Reference in New Issue
Block a user