能否批量替换(或是修改)多个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
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-02
按CTRL选定工作表之后,修改单元格即可。
第2个回答  2013-10-21
CTRL+H
第3个回答  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本回答被网友采纳
第4个回答  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都链接到这个单元格,则当这个单元格改时,其余用户资料的值也会跟着变。这个方法比较费时间
相似回答