|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 安永飞 于 2024-7-28 12:42 编辑
Option Explicit
Sub UpdateSheetsInFiles()
Dim folderPath As String
Dim filename As String
Dim wb As Workbook
Dim ws As Worksheet
' 设置文件夹路径
folderPath = "D:/玉米大豆水稻补贴/各村数据/"
' 检查文件夹是否存在
If Dir(folderPath, vbDirectory) = "" Then
MsgBox "指定的文件夹不存在,请检查路径。", vbExclamation
Exit Sub
End If
' 遍历文件夹中的每个文件
filename = Dir(folderPath & "*.xlsx")
Do While filename <> ""
' 打开工作簿
Set wb = Workbooks.Open(folderPath & filename)
' 遍历每个工作表
For Each ws In wb.Worksheets
With ws
' 从第二行开始处理,假设第一行为标题行
Dim lastRow As Long
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
' 对每一行执行运算
Dim i As Long
For i = 2 To lastRow
' K列加上L列等于J列
.Cells(i, "J").Value = .Cells(i, "K").Value + .Cells(i, "L").Value
' N列加上O列等于M列
.Cells(i, "M").Value = .Cells(i, "N").Value + .Cells(i, "O").Value
' Q列加上R列等于P列
.Cells(i, "P").Value = .Cells(i, "Q").Value + .Cells(i, "R").Value
' P列加上M列加上J列等于I列
.Cells(i, "I").Value = .Cells(i, "P").Value + .Cells(i, "M").Value + .Cells(i, "J").Value
Next i
End With
Next ws
' 保存并关闭工作簿
wb.Close SaveChanges:=True
' 移到下一个文件
filename = Dir()
Loop
MsgBox "所有文件已处理完毕。", vbInformation
End Sub
D盘里有一个“玉米大豆水稻补贴”文件夹,这个文件夹中有一个名称叫“各村数据”文件夹,这个文件夹中有20多个工作表,每个工作表,就是附件中的那样格式。想要计算 从第二行开始:
K列加上L列等于J列, 'N列加上O列等于M列, Q列加上R列等于P列
之后 P列加上M列加上J列等于I列
D盘里有一个“玉米大豆水稻补贴”文件夹,这个文件夹中有一个名称叫“各村数据”文件夹,这个文件夹中有20多个工作表,每个工作表都运行一遍这个程序.
|
|