excel用VBA程序怎么一个文件夹中的所有工作簿的特定单元格填充颜色

就是我一个文件夹中有多个excel工作簿格式是一样的,怎么把所有特定的单元格填充一种颜色,比如说要填充10多个工作簿的里面的每个工作表中N10,H10,G10填充为黄色,用excelVBA程序怎么能实现。

第1个回答  2011-10-12
如果你一个Excel文件中所有的表都需要按照你说的做,且格式是一样的,那么假设有10个Sheet表,可以拷贝如下代码运行即可达成你的目标

For i = 1 To 10 '如果有15个表则写1 to 15

Sheets(i).Cells(10, 14).Interior.ColorIndex = 6 '6为黄色的颜色代码,cells(10,14)为N10
Sheets(i).Cells(10, 8).Interior.ColorIndex = 6 '6为黄色的颜色代码,cells(10,8)为H10
Sheets(i).Cells(10, 7).Interior.ColorIndex = 6 '6为黄色的颜色代码,cells(10,7)为G10

Next i追问

我问的是一个文件夹中有多个excel工作簿,每个工作簿中有多个工作表且格式是一样的,怎么把所有特定的单元格填充一种颜色,比如说要填充10多个工作簿的里面的每个工作表中N10,H10,G10填充为黄色,用excelVBA程序怎么能实现。

追答

参考下面的代码:
你拷贝下面的代码到VBA中,将第四行中文件夹的名称改成你所要的文件夹名称然后运行即可。

Sub try()
Dim n As Integer
Dim iPath As String
iPath = "I:\Excelfile" '假设你的文件放在I:\Excelfile这个文件夹,你可以按照你的文家夹名称更改引号内的内容

Dim files As String
Dim iWKB As Workbook

Dim i As Integer
Dim HowManySheets As Integer

ChDir iPath

files = Dir(iPath & "\*.xls") '获取指定文件夹中第一个Excel文件

While files ""

Set iWKB = Workbooks.Open(Filename:=iPath & "\" & files) '打开文件
Application.ScreenUpdating = False

HowManySheets = Worksheets.Count '获取当前文件的工作表的数量

For i = 1 To HowManySheets '对每一个工作表进行分别处理
iWKB.Sheets(i).Cells(10, 14).Interior.ColorIndex = 6 '6为黄色的颜色代码,cells(10,14)为N10
iWKB.Sheets(i).Cells(10, 8).Interior.ColorIndex = 6 '6为黄色的颜色代码,cells(10,8)为H10
iWKB.Sheets(i).Cells(10, 7).Interior.ColorIndex = 6 '6为黄色的颜色代码,cells(10,7)为G10

Next i

iWKB.Save
iWKB.Close

files = Dir '获取指定文件夹中第二、三个到n个文件

Wend

End Sub

Sub try()
Dim n As Integer
Dim iPath As String
iPath = "I:\Excelfile" '假设你的文件放在I:\Excelfile这个文件夹,你可以按照你的文家夹名称更改引号内的内容

Dim files As String
Dim iWKB As Workbook

Dim i As Integer
Dim HowManySheets As Integer

ChDir iPath

files = Dir(iPath & "\*.xls") '获取指定文件夹中第一个Excel文件

While files ""

Set iWKB = Workbooks.Open(Filename:=iPath & "\" & files) '打开文件
Application.ScreenUpdating = False

HowManySheets = Worksheets.Count '获取当前文件的工作表的数量

For i = 1 To HowManySheets '对每一个工作表进行分别处理
iWKB.Sheets(i).Cells(10, 14).Interior.ColorIndex = 6 '6为黄色的颜色代码,cells(10,14)为N10
iWKB.Sheets(i).Cells(10, 8).Interior.ColorIndex = 6 '6为黄色的颜色代码,cells(10,8)为H10
iWKB.Sheets(i).Cells(10, 7).Interior.ColorIndex = 6 '6为黄色的颜色代码,cells(10,7)为G10

Next i

iWKB.Save
iWKB.Close

files = Dir '获取指定文件夹中第二、三个到n个文件

Wend

End Sub

第2个回答  2011-10-12
一起选中这十个工作簿,按shift,然后填充黄色就都填上了
第3个回答  2011-10-12
10 多个你还要编个VBA呀,手动填完了,代码还没写完呢本回答被提问者采纳
第4个回答  2011-10-12
VBA是什么?