使用VBA批量更新同目錄下工作薄指定單元格內(nèi)容
在實(shí)際工作中,有時(shí)候需要對(duì)同一文件夾下的多個(gè)Excel文件進(jìn)行類似的操作,例如批量更新指定單元格內(nèi)容。通過(guò)VBA,我們可以輕松實(shí)現(xiàn)這一目標(biāo)。準(zhǔn)備工作首先,在需要批量更新指定單元格內(nèi)容的文件夾下,新建一
在實(shí)際工作中,有時(shí)候需要對(duì)同一文件夾下的多個(gè)Excel文件進(jìn)行類似的操作,例如批量更新指定單元格內(nèi)容。通過(guò)VBA,我們可以輕松實(shí)現(xiàn)這一目標(biāo)。
準(zhǔn)備工作
首先,在需要批量更新指定單元格內(nèi)容的文件夾下,新建一個(gè)Excel文件。然后按ALT F11打開VBE編輯器,在新建的模塊中粘貼以下代碼:
```vba
Option Explicit
Sub 批量修改同目錄下工作薄指定單元格內(nèi)容()
Dim f As String, wb As Workbook, th As Workbook, h, l, t
Const shname "sheet1" '此處設(shè)置需要更改的工作表名稱,默認(rèn)為sheet1
Set th ThisWorkbook
False
Application.DisplayAlerts False
f Dir( "*.xls") '獲取文件夾地址下所有xls文件
h InputBox("請(qǐng)輸入行坐標(biāo)(1-65536)", "請(qǐng)正確輸入行坐標(biāo)")
If h "" Then Exit Sub
If h Like "*[!0-9]*" Or h > 65536 Then GoTo gh
l InputBox("請(qǐng)輸入列坐標(biāo)(A-IV)", "請(qǐng)正確輸入列坐標(biāo)")
If l "" Then Exit Sub
If l Like "*[!A-Za-z]*" Or Not (l Like "[A-Za-z]*" Or (l Like "[A-Z]?" And l Like "?[A-V]")) Then GoTo glt
t InputBox("更新內(nèi)容", "請(qǐng)輸入更新內(nèi)容")
Do While f > ""
If f <> Then '判斷是否為當(dāng)前工作表
Set wb ( "" f)
(shname).Cells(h, l) t
Else
(shname).Cells(h, l) t
End If
f Dir
Loop
gh:
Application.DisplayAlerts True
True
End Sub
```
執(zhí)行批量更新操作
1. 按ALT F8,選擇執(zhí)行“批量修改同目錄下工作薄指定單元格內(nèi)容”宏。
2. 在彈出的對(duì)話框中,請(qǐng)輸入行坐標(biāo):6,然后點(diǎn)擊確定。
3. 在彈出的對(duì)話框中,請(qǐng)輸入列坐標(biāo):A,然后點(diǎn)擊確定。
4. 在彈出的對(duì)話框中,請(qǐng)輸入內(nèi)容:a6,然后點(diǎn)擊確定。
通過(guò)以上步驟,您就可以輕松批量更新同目錄下所有Excel文件指定單元格的內(nèi)容了。這種方法極大地提高了工作效率,特別適用于需要大量重復(fù)操作的情況。