问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

把一个文件夹下的所有excel工作簿中的工作表名称改成所在工作簿的名称

发布网友 发布时间:2022-05-01 19:47

我来回答

5个回答

热心网友 时间:2023-10-24 14:19

1.单击Excel2007窗口左上角的“Office 按钮”图标,在弹出的菜单中,单击“Excel选项”按钮,如上图所示。

2.在“Excel选项”对话框中,单击左侧“常用”分类,勾选“在功能区显示"开发工具"选项卡”项,单击“确定”按钮返回Excel2007主窗口,即可添加开发工具选项卡。

3.单击“开发工具”菜单-“Visual Basic”图标

4.Excel2007打开代码编辑器窗口,单击“插入”菜单-“模块”菜单项,即可插入默认的模块“模块1”,即可在右侧的VBA代码编辑器窗口输入VBA代码。

Sub Books2Sheets()
    '定义对话框变量
    Dim fd As FileDialog
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    
    '新建一个工作簿
    Dim newwb As Workbook
    Set newwb = Workbooks.Add
    
    With fd
        If .Show = -1 Then
            '定义单个文件变量
            Dim vrtSelectedItem As Variant
            
            '定义循环变量
            Dim i As Integer
            i = 1
            
            '开始文件检索
            For Each vrtSelectedItem In .SelectedItems
                '打开被合并工作簿
                Dim tempwb As Workbook
                Set tempwb = Workbooks.Open(vrtSelectedItem)
                
                '复制工作表
                tempwb.Worksheets(1).Copy Before:=newwb.Worksheets(i)
                
                '把新工作簿的工作表名字改成被复制工作簿文件名,这儿应用于xls文件,即Excel97-2003的文件,如果是Excel2007,需要改成xlsx
                newwb.Worksheets(i).Name = VBA.Replace(tempwb.Name, ".xls", "")
                
                '关闭被合并工作簿
                tempwb.Close SaveChanges:=False
                
                i = i + 1
            Next vrtSelectedItem
        End If
    End With
    
    Set fd = Nothing
End Sub

热心网友 时间:2023-10-24 14:19

Sub Rename()

    Application.DisplayAlerts = False

    Application.ScreenUpdating = False

    cPath = "D:\Users\WIN_X\Desktop\1\"

    cFile = Dir(cPath & "*.xls")

    Do While cFile <> ""

        wb = Split(cFile, ".")(0)

        If wb <> Split(ThisWorkbook.Name, ".")(0) Then

            With GetObject(cPath & cFile)

                .Sheets(1).Name = wb

                Windows(cFile).Visible = True

                .Close True

            End With

        End If

        cFile = Dir

    Loop

    Application.DisplayAlerts = True

    Application.ScreenUpdating = True

    MsgBox "完成!"

End Sub

热心网友 时间:2023-10-24 14:20

不打开工作薄是修改不了名称的, 只是说, 在后台打开后执行操作, 再关闭掉它

热心网友 时间:2023-10-24 14:21

提取工作簿、工作表名称;
把工作簿名称赋值给工作表名称;
保存;

不会写代码……

热心网友 时间:2023-10-24 14:21

你用的是Office2003吗,新建一个Excel文件,选择"工具"菜单,"宏","visual basic编辑器",把下边的程序粘进去,然后点击运行,找到你的文件夹,选中所有的工作簿,就可以了.
Sub rename()
Dim FilesToOpen
Dim x As Integer
Application.ScreenUpdating = False
FilesToOpen = Application.GetOpenFilename(FileFilter:="MicroSoft Excel文件(*.xls),*.xls", MultiSelect:=True, Title:="要合并的文件")
If TypeName(FilesToOpen) = "Boolean" Then
MsgBox "没有选中文件"
End If
x = 1
While x <= UBound(FilesToOpen)
Workbooks.Open Filename:=FilesToOpen(x)
ActiveWorkbook.Sheets(1).Name = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4)
ActiveWorkbook.Close SaveChanges:=True
x = x + 1
Wend
Application.ScreenUpdating = True
Application.Quit
End Sub

热心网友 时间:2023-10-24 14:19

1.单击Excel2007窗口左上角的“Office 按钮”图标,在弹出的菜单中,单击“Excel选项”按钮,如上图所示。

2.在“Excel选项”对话框中,单击左侧“常用”分类,勾选“在功能区显示"开发工具"选项卡”项,单击“确定”按钮返回Excel2007主窗口,即可添加开发工具选项卡。

3.单击“开发工具”菜单-“Visual Basic”图标

4.Excel2007打开代码编辑器窗口,单击“插入”菜单-“模块”菜单项,即可插入默认的模块“模块1”,即可在右侧的VBA代码编辑器窗口输入VBA代码。

Sub Books2Sheets()
    '定义对话框变量
    Dim fd As FileDialog
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    
    '新建一个工作簿
    Dim newwb As Workbook
    Set newwb = Workbooks.Add
    
    With fd
        If .Show = -1 Then
            '定义单个文件变量
            Dim vrtSelectedItem As Variant
            
            '定义循环变量
            Dim i As Integer
            i = 1
            
            '开始文件检索
            For Each vrtSelectedItem In .SelectedItems
                '打开被合并工作簿
                Dim tempwb As Workbook
                Set tempwb = Workbooks.Open(vrtSelectedItem)
                
                '复制工作表
                tempwb.Worksheets(1).Copy Before:=newwb.Worksheets(i)
                
                '把新工作簿的工作表名字改成被复制工作簿文件名,这儿应用于xls文件,即Excel97-2003的文件,如果是Excel2007,需要改成xlsx
                newwb.Worksheets(i).Name = VBA.Replace(tempwb.Name, ".xls", "")
                
                '关闭被合并工作簿
                tempwb.Close SaveChanges:=False
                
                i = i + 1
            Next vrtSelectedItem
        End If
    End With
    
    Set fd = Nothing
End Sub

热心网友 时间:2023-10-24 14:19

Sub Rename()

    Application.DisplayAlerts = False

    Application.ScreenUpdating = False

    cPath = "D:\Users\WIN_X\Desktop\1\"

    cFile = Dir(cPath & "*.xls")

    Do While cFile <> ""

        wb = Split(cFile, ".")(0)

        If wb <> Split(ThisWorkbook.Name, ".")(0) Then

            With GetObject(cPath & cFile)

                .Sheets(1).Name = wb

                Windows(cFile).Visible = True

                .Close True

            End With

        End If

        cFile = Dir

    Loop

    Application.DisplayAlerts = True

    Application.ScreenUpdating = True

    MsgBox "完成!"

End Sub

热心网友 时间:2023-10-24 14:20

不打开工作薄是修改不了名称的, 只是说, 在后台打开后执行操作, 再关闭掉它

热心网友 时间:2023-10-24 14:21

提取工作簿、工作表名称;
把工作簿名称赋值给工作表名称;
保存;

不会写代码……

热心网友 时间:2023-10-24 14:21

你用的是Office2003吗,新建一个Excel文件,选择"工具"菜单,"宏","visual basic编辑器",把下边的程序粘进去,然后点击运行,找到你的文件夹,选中所有的工作簿,就可以了.
Sub rename()
Dim FilesToOpen
Dim x As Integer
Application.ScreenUpdating = False
FilesToOpen = Application.GetOpenFilename(FileFilter:="MicroSoft Excel文件(*.xls),*.xls", MultiSelect:=True, Title:="要合并的文件")
If TypeName(FilesToOpen) = "Boolean" Then
MsgBox "没有选中文件"
End If
x = 1
While x <= UBound(FilesToOpen)
Workbooks.Open Filename:=FilesToOpen(x)
ActiveWorkbook.Sheets(1).Name = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4)
ActiveWorkbook.Close SaveChanges:=True
x = x + 1
Wend
Application.ScreenUpdating = True
Application.Quit
End Sub
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2024年四川570分能考上什么大学? 2024年四川文科560分能考上什么大学? 2024年广东561分能考上什么大学? 2024年江苏历史类561分能考上什么大学? 在形ABC中,角A.B.C所对的边分别为a.b.c,且acosB+bcosA=2c cos 求... ...B、C的对边分别为a、b、c,已知acosB+bcosA=2(bcosC+ccosB).(1... ...b、c的对边分别为a、b、c,且acosb+bcosa=2cosc 在△ ABC中,角A、B、C所对的边分别为a、b、c,已知b=cosA,c=2cosB,试... 在△ABC中,角A,B,C所对的边分别为a,b,c,且满足bcosA+acosB=2ccosC,△... ...对应的边分别为a、b、c,且满足aCOSB+bcosA=2cCOSC... 探测器连接终端电阻的目的是什么? excel工作簿中默认的工作表有几个?它们默认的名字是什么?工作表如何改名? 就是WPS表格怎样改工作薄的名称呢 日历节气倒计时 懒得看日历,还有几天过年啊,?朋友吗? ...离2022年春节就正式进入为期100天的倒计时,离春节的脚步越来越近,对... 棕马蜂可以泡酒吗? 马蜂为什么会有毒呢? 棕马蜂吃什么? 马蜂有害没 excel中如何批量删除文本里面的空格键 oppo reno4智能侧边栏打游戏怎么用 opporeno4支持无线摇控 棕马蜂是什么品种 马蜂有没有毒 这是什么蜂有毒吗 吉他24个大小调的和弦图 oppo reno4智能侧边栏怎么开启 燃气壁挂炉到了一定温度后还嗡嗡响 电磁炉换了主板风扇不转,但加热 急急急!!数字媒体艺术的专业考试 笔试部分 是大概考什么? 支持双核的网页浏览器一般支持的是哪双核,哪两个核心组成的浏览器好,好在什么地方 求推荐一款双核浏览器 双核浏览器哪个好? 【国内双核浏览器】哪个好? 傲游、搜狗、世界之窗极速版这几个双核浏览器哪个最好最安全 双核浏览器ie内核是 电脑上ie浏览器默认的内核还是自己版本的内核 搜狗浏览器怎么样?听说是双核浏览器?浏览器也能双核吗? 什么网页类型 使双核浏览器 自动变为高速模式状态? 小智双核浏览器是不是8.0的浏览器? 如何将水印透明 22KW电功率,380伏特电压选用多大漏电保护器 220v电机启动电流15A用多大漏电保护器? 220伏1.5千瓦电机配多大漏电保护器 20个1千500瓦的电机需要多大的漏电保护器 请教高手:电动机配多大的漏电保护开关比较合适? 两个7.5的电机用多大的漏电保护器? 您好 手机导航怎样转到汽车中控屏上呢? 胶州薰衣草主题公园的自驾游线路 胶州薰衣草主题公园的具体位置?以及薰衣草的花期和公园门票是多少!!???谢谢各位了