vba下,如何在不打开文件的情况下,读取excel的工作表的名称,帮我写个函数也行啊

vba下,如何在不打开文件的情况下,读取excel的工作表的名称,帮我写个函数也行啊,第1张

不打开是不行的,至少得用代码打开。

sub test()

dim mary(1 to 1024,1 to 1),k as long,myFile as string

dim wb as workbook,sh as workSheet

myFile="D:\我的Excel文件xls" '注:你文件的类型,可能是xlsm或xlsx格式,自行相应改动本行

k=0

set wb=workbooksopen(myfile)

for each sh in wbworksheets

k=k+1

mary(k,1)=shname

next

wbclose 0

with activesheet

[a1]resize(k,1)=mary

end with

end sub

Sub huizong()

    ActiveSheetRange("b54:ao200")ClearContents '清除b54:ao200内容

    Dim sh As Worksheet,r,r2

    For Each sh In Sheets

        If InStr(shName, "汇总") = 0 Then

            With sh

                r = Cells(RowsCount, 8)End(3)Row

                r2 = Sheets("汇总")Cells(RowsCount, 8)End(3)Row

                Sheets("汇总")Range("a" & r2 + 1)resize(r-53,1) = name

                Range("a54:ao" & r)Copy Sheets("汇总")Range("b" & r2 + 1)

            End With

        End If

    Next

End Sub

工作表关于名称的常见属性有CodeName、Name和index 等。你在VBE编辑器左侧看到的sheet1(sheet1),sheet2(sheet3)之类的一列表名,那括号外的就是你在代码使用的sheet1range(A1) 之类引用的,是CodeName(按蹩脚的翻译名字,代码名字,在代码中可以直接使用的名字),这是软件按照你建立工作表的先后顺序自动命名的,无法修改和排序。括号里的sheet1是工作表的Name,也就是你在EXCEL的表格窗口看到的工作表的标签名,这个名字可以随时修改,但是在VBA中sheet1无法作为一个工作表对象直接引用,而是写成sheets("sheet1")。第3个INDEX就是以索引号来表示的sheets(1), 这个是一个表格集合对象内的表格对象的顺序号,这个顺序基本等同于你在表格窗口看到的工作表标签的排列顺序,同一张表有多个名字,就比如人的小名,学名,艺名一样,不管名称叫法如何,指代的都是同一个主体,以上希望你能够采纳。

Sub 表名()

    For i = 1 To SheetsCount

        Cells(i, 1) = Sheets(i)Name

    Next

End Sub

Sub test()

Dim a$, b$

a = ActiveSheetName

MsgBox "此工作表的名称为: " & a, vbOKOnly, "工作表的名称"

b = ThisWorkbookName

MsgBox "此工作簿的名称为: " & b, vbOKOnly, "工作簿的名称"

End Sub

其实用 Dir() 即可直接取得不包含路径的文件名:Sub GetFilNam()

Dim FilNam

FilNam = Dir(ApplicationGetOpenFilename("Excel文件(xls),xls"))

If FilNam = False Then Exit Sub '如果单击“取消”则直接退出程序,以免返回“False”d窗

MsgBox FilNam

End Sub 如果不考虑单击“取消”会返回“False”的问题,那么直接这样更加简洁:Sub GetFilNam()

MsgBox Dir(ApplicationGetOpenFilename("Excel文件(xls),xls"))

End Sub

以上就是关于vba下,如何在不打开文件的情况下,读取excel的工作表的名称,帮我写个函数也行啊全部的内容,包括:vba下,如何在不打开文件的情况下,读取excel的工作表的名称,帮我写个函数也行啊、请增加自动提取工作表名称的VBA代码、在VBA中如何引用工作表的名称等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9672837.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存