VB如何获取EXCEL中所有的表名

VB如何获取EXCEL中所有的表名,第1张

VB还是VBA?如果是VBA,就可以这样

Public Sub aa()

For i = 1 To SheetsCount

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

Next i

End Sub

以上输出到当前面的第一列

代码如下: 手写的 没测试

sub xxx()

 dim rng as range

arr=activesheetusedrange

for i=2 to ubound(arr)

  if i=2 or arr(i,1)="A" then

 if rng is nothing then  

  set rng = activesheetrange("B" & i)resize(1,12)

else 

 set rng =union(rng, activesheetrange("B" & i)resize(1,12))

end if

next

 rngcopy sheets(2)[a1]

msgbox "复制完毕"

end sub

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

以上就是关于VB如何获取EXCEL中所有的表名全部的内容,包括:VB如何获取EXCEL中所有的表名、EXCEL vba 循环查找、在VBA中如何引用工作表的名称等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存