Bulk Find / Replace
Standard tier
Available on Standard tier and above. Free/trial users also have access (with limits).
Modeless dialog more powerful than the default Ctrl+H: supports regex, multi-rule, multi-sheet, recipes saved for reuse. Ideal for cleaning BoQ / quantity / batch report data.
Open the dialog
DVD Addin → group Text and Number → dropdown Text ops → click Bulk find / replace.
The dialog is modeless — you can change the Excel selection between Apply clicks without closing the dialog.
Compared to Excel's Find/Replace
| Excel Find/Replace | DVDAddin Bulk Find/Replace | |
|---|---|---|
| Regex | ❌ | ✅ Full .NET Regex |
| Multi-rule | ❌ (one pair at a time) | ✅ N rules in one pass |
| Scope | Current workbook | Active sheet / Selected sheets / Workbook |
| Save recipe | ❌ | ✅ JSON file for reuse |
| Preview before Apply | ❌ | ✅ Highlight matches + count |
| Undo | ❌ (history lost) | ✅ Excel undo stack |
Typical workflow
1. Add rule
| Field | Meaning |
|---|---|
| Find | Text or regex pattern to search |
| Replace | Replacement text (can include $1, $2... when using regex groups) |
| Use Regex | Tick → Find field parsed as .NET Regex |
| Match case | Case-sensitive |
| Whole word | Match whole words (not substring) |
| In formulas | Search in formulas instead of displayed values |
Click ➕ Add rule to add another (1 dialog runs many rules in parallel).
2. Pick scope
| Option | Description |
|---|---|
| Selection | Only within current selection |
| Active sheet | Entire current sheet |
| All sheets | Every sheet in the workbook |
| Selected sheets | Sheets currently grouped (Ctrl+click tabs to group) |
3. Click "Find all" or "Replace all"
- Find all → highlights every match (no replace). Dialog reports: "Found 47 matches in 12 cells across 3 sheets".
- Replace all → actual replace. Pops a confirm: "Replace 47 occurrences. Continue?".
Common regex examples
| Use case | Find | Replace |
|---|---|---|
| Strip trailing parenthetical | \s*\(.*?\)\s*$ | (empty) |
| Format VND amount | (\d+)000 | $1.000 |
| Normalize norm code | AB\.(\d{4,5}) | AB.$1.00 |
| Convert date MM/DD → DD/MM | (\d{2})/(\d{2})/(\d{4}) | $2/$1/$3 |
| Strip trailing whitespace | [ \t]+$ | (empty) |
| Collapse multiple spaces to one | \s{2,} | (1 space) |
Recipes — save rule sets
Each recipe = a group of rules + scope, saved as JSON in %APPDATA%\DVDAddin\Recipes\.
| Action | Description |
|---|---|
| 💾 Save recipe | Name the recipe (e.g. "TT10 BoQ Normalize") → saves JSON |
| 📂 Load recipe | Dropdown lists saved recipes → click → loads rules + scope |
| 🗑 Delete recipe | Deletes the JSON file |
Recipes are useful for:
- Norm code normalization (AB.11110 → AB.11110.00)
- Date format conversion when receiving partner files
- Project name cleanup against a template
License gating
| Tier | Available |
|---|---|
| Trial / Activated | ✅ All features |
| Standard | ✅ All |
| Pro | ✅ All |
| Expired / Unactivated | 🔒 Locked — requires activation |
Tips
- Test regex first: use Find all before Replace. If found-count is wrong → fix the pattern
- Backup workbook: a bad regex can wipe data. Save before Replace all
- Combine with Data Cleaning: Bulk Find/Replace fixes pattern-based issues; Data Cleaning fixes structural issues (blanks/duplicates/whitespace)
Related
- Smart Data Cleaning — fix structural issues
- Text utilities — Add text, Remove accents, Auto format
- Smart Case — Pascal/camel/snake case