能否批量替换(或是修改)多个excel工作表里的某一单元格的数值吗?
展开全部
一、直接操作
1、选择多个sheet
ctrl+鼠标点击可以依次选择
按住shift,点击首尾两个sheet,可选择包括两个sheet间的所有sheet。
2、点击其中sheet单元格
3、输入公式或者数值即可。
二、VBA法
VBA方法操作更为灵活,可进行的计算也更加多样。
如下VBA代码将在A1单元格分别填入对应的sheet序号。
Sub AllSheet()
Dim i As Single
For i = 1 To Worksheets.Count
Worksheets(i).Cells(1, 1) = i
Next
End Sub
2015-12-02 · 知道合伙人软件行家
关注
展开全部
按CTRL选定工作表之后,修改单元格即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-21
展开全部
CTRL+H
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-21
展开全部
新建一个excel工作薄,按ALT + F11 插入一个模块,将下面的代码复制进去,然后执行(快捷键F5)
Sub replace() '子过程名replace
Dim myDialog As FileDialog, oFile As Object
Dim FSO, myFolder As Object, myFiles As Object
Dim fn$ '定义一些要用到的变量,分别获取文件夹名,文件名
Set FSO = CreateObject("Scripting.FileSystemObject") '创建文件操作
Set myDialog = Application.FileDialog(msoFileDialogFolderPicker) '用对话框获取文件夹路径
With myDialog
If .Show <> -1 Then Exit Sub '如果在文件夹选择时点"取消"则退出过程
Set myFolder = FSO.GetFolder(.InitialFileName) '将文件夹路径赋值到变量
Set myFiles = myFolder.Files '将文件夹内所有文件存入变量数组
For Each oFile In myFiles
Dim strName, strName1, strName2 As String '定义局部变量,检查文件扩展名是否为xls或xlsx
strName = LCase(oFile.Name)
strName1 = VBA.Right(strName, 3)
strName2 = VBA.Right(strName, 4)
If strName1 = "xls" Or strName2 = "xlsx" Then '如果是excel文件,则执行下面的操作
fn = myFolder & oFile.Name '这两句是用来打开文件的
Workbooks.Open Filename:=fn
Worksheets(1).Range("O1") = "280" '修改第一个工作表中的O1单元格的值,如果不是第一个工作表或不是这个区域,请修改之
Application.DisplayAlerts = False '为了防止保存时出现提示信息,关闭提示
ActiveWorkbook.Save '保存活动的工作薄
Application.DisplayAlerts = True '打开提示信息
ActiveWindow.Close '关闭工作蒲
End If
Next '处理下一个文件
MsgBox ("文件处理完成") '处理完文件夹内所有文件时提示操作完成
End With
End Sub
Sub replace() '子过程名replace
Dim myDialog As FileDialog, oFile As Object
Dim FSO, myFolder As Object, myFiles As Object
Dim fn$ '定义一些要用到的变量,分别获取文件夹名,文件名
Set FSO = CreateObject("Scripting.FileSystemObject") '创建文件操作
Set myDialog = Application.FileDialog(msoFileDialogFolderPicker) '用对话框获取文件夹路径
With myDialog
If .Show <> -1 Then Exit Sub '如果在文件夹选择时点"取消"则退出过程
Set myFolder = FSO.GetFolder(.InitialFileName) '将文件夹路径赋值到变量
Set myFiles = myFolder.Files '将文件夹内所有文件存入变量数组
For Each oFile In myFiles
Dim strName, strName1, strName2 As String '定义局部变量,检查文件扩展名是否为xls或xlsx
strName = LCase(oFile.Name)
strName1 = VBA.Right(strName, 3)
strName2 = VBA.Right(strName, 4)
If strName1 = "xls" Or strName2 = "xlsx" Then '如果是excel文件,则执行下面的操作
fn = myFolder & oFile.Name '这两句是用来打开文件的
Workbooks.Open Filename:=fn
Worksheets(1).Range("O1") = "280" '修改第一个工作表中的O1单元格的值,如果不是第一个工作表或不是这个区域,请修改之
Application.DisplayAlerts = False '为了防止保存时出现提示信息,关闭提示
ActiveWorkbook.Save '保存活动的工作薄
Application.DisplayAlerts = True '打开提示信息
ActiveWindow.Close '关闭工作蒲
End If
Next '处理下一个文件
MsgBox ("文件处理完成") '处理完文件夹内所有文件时提示操作完成
End With
End Sub
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-21
展开全部
最简单的办法是用VBA,新建一个Excel表,把所有文件名字列入sheet的A列,再把260(或280)放在B1,然后新建一个按键,并添加宏:
Dim appWord As Object
Dim doc As Object
Set appWord = CreateObject("Excel.application")
for i=1 to 1000 '人数的最大值
set doc=appWord.documents.open(cells(i,1))
doc.sheets(1).cells(1,15)=cells(1,2)
doc.close
next i
appWord.Quit
MsgBox ("更改完毕!")
如果时间允许的话,也可以建立一个总表,把260(或280)放在某一个sheet里,然后把其余的用户资料的O1都链接到这个单元格,则当这个单元格改时,其余用户资料的值也会跟着变。这个方法比较费时间
Dim appWord As Object
Dim doc As Object
Set appWord = CreateObject("Excel.application")
for i=1 to 1000 '人数的最大值
set doc=appWord.documents.open(cells(i,1))
doc.sheets(1).cells(1,15)=cells(1,2)
doc.close
next i
appWord.Quit
MsgBox ("更改完毕!")
如果时间允许的话,也可以建立一个总表,把260(或280)放在某一个sheet里,然后把其余的用户资料的O1都链接到这个单元格,则当这个单元格改时,其余用户资料的值也会跟着变。这个方法比较费时间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询