EXCEL如何让VBA程序自动切换下一个工作表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EXCEL如何让VBA程序自动切换下一个工作表相关的知识,希望对你有一定的参考价值。

我有一个工作簿,内含N张工作表,每个工作表的名称没有规定,请问如何在VBA中做到当第一个工作表的任务执行完后程序再执行第二个工作表的任务,以此类推,直到把N张工作表的任务都执行完毕。请问各位高手,用哪些语句可以做到呢?例:一个工作簿有31个工作表,如何做到,第一个工作表(50行)执行一个过程后,程序识别到50行数据执行完后自动切换到第二个工作表执行第二个工作表中有效行数的过程,尔后再根据第二个工作表的执行情况由程序自动执行第三个工作表,以此类推直到把31个工作表都执行完毕。

以上,请各位专家赐教,谢谢!

1、管理数据要设置多个工作表,例如、表单、数据表(称作“数据库”)、引用表、筛选表、信息表、汇总报表、其他辅助(例如目录表)表等等,不可混淆。其中数据表专用来保存日常发生的数据。
2、将日常发生的数据保存在同一个工作表(“数据库”)中。如果数据源在多个工作簿或工作表中,首先要合并数据。
3、数据表是一维表,第一个字段是“行号”字段,“行号”字段各行内容由公式"=ROW()"形成
4、数据库表的标题行是1行,没有重复名称,字段名称之间不间隔空单元。
5、数据库表中除了“行号”字段,其他位置无公式设置。
6、数据库表中不设置复杂的格式,例如合并单元格、数据有效性等等。
7、日常发生的每个“事件”对应数据库表中的标题名称记录在数据库表的一行中。
总而言之,尽量将多工作表放在同一个工作簿中,尽量将随时发生的数据存放在同一个工作表中则非常有利于以后的数据管理;而用报表形式保存数据是不正确的,会给以后的数据管理和使用造成很大困难。
参考技术A 用vba代码
Sub 另存所有工作表为工作簿()
Dim sht As Worksheet
Application.ScreenUpdating = False
ipath = ThisWorkbook.Path & "\"
For Each sht In Sheets
sht.Copy
ActiveWorkbook.SaveAs ipath & sht.Name & ".xls" '(工作表名称为文件名)
ActiveWorkbook.Close
Next
Application.ScreenUpdating = True
End Sub
参考技术B Dim isheet As Worksheet
For Each isheet In ActiveWorkbook
你的代码
Next isheet
逐个工作表执行代码
参考技术C Dim isheet As Worksheet
For Each isheet In ActiveWorkbook
你的代码
Next isheet
这个是通过循环激活各个表
如果想根据个人选择边个,可以这样写
sheets("表名").select
参考技术D Dim isheet As Worksheet
For Each isheet In ActiveWorkbook
你的代码
Next isheet
这个是通过循环激活各个表
如果想根据个人选择边个,可以这样写
sheets("表名").select

用VBA程式设计如何遍历EXCEL每一个工作表

参考技术A 用VBA程式设计如何遍历EXCEL每一个工作表 这段小程式就把一个EXCEL档案中每个工作表的A1单元格填上了a
Sub tt()
For i = 1 To ActiveWorkbook.Worksheets.Count
ActiveWorkbook.Worksheets(i).Cells(1, 1).Value = "a"
Next
End Sub
用VBA程式设计如何连线EXCEL每一个工作表
Private Sub CommandButton1_Click()
Dim ws As Worksheet
For Each ws In Worksheets
MsgBox (ws.Name)
Next
End Sub
EXCEL VBA 如何遍历工作表
Sub test()
For Each c In ActiveSheet.Comments
c.Parent.Interior.ColorIndex = 3
Next
End Sub
vba程式设计如何遍历每一个选择的单元格?
Sub sdk()
i = 1
For Each sc In Selection
sc.Value = i
i = i + 1
Next
End Sub
vb用ado如何遍历excel中所有工作表
1、用VB 开启EXCEL 档案 
2、遍历sheets和cells
Dim xlApp As Excel.Application
Dim xlbook As Excel.Workbook
Dim xlsheet As Excel.Worksheet
Private Sub Command1_Click()
Set xlApp = New Excel.Application
xlApp.Visible = True
Set xlbook = xlApp.Workbooks.Open("d:\hao\1.xls")
For i = 1 To xlbook.Worksheets.Count
Set xlsheet = xlbook.Worksheets(i)
aa=xlsheet.Cells(1, 1)
Next
End Sub

EXCEL表格里有三个工作表,如何提取每一个表第一行到另一个工作表里
一次完成行吗?
在最末的工作表的A1输入
=INDIRECT("Sheet"&ROW()&"!"&CHAR(64+COLUMN())&1)
回车并向下填充至An(看你的工作表有多少);
再选A1~An,一起向右填充。
excel表里怎样可以查到每一个工作表
首先按CTRL+F弹出“查询和替换”视窗,然后点窗口里的“选项”,将“范围”一项选为“工作簿”,这样就能在全部工作表中进行查找了。
VBA:如何遍历资料夹下面所有工作簿,然后每个工作簿新增一个新工作表
使用dir可以编列资料夹,一般结构是:
path="d:\xls\"filename=dir(path & "*.xls*")while filename<>"" set wb=workbooks.open(path & filename) wb.sheets.add wb.save wb.close filename=dirwend
如何把一个excel工作表分成两个工作表

以上是关于EXCEL如何让VBA程序自动切换下一个工作表的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 VBA 根据活动工作表中的单元格自动填充 Excel 表单?

使用Excel VBA,如何将某一个工作表保存到新建的Excel中?

excel等于某个值自动 隐藏/显示 整行 求教VBA代码

如何让VBA自动响应word或excel打开文件时自动出现的消息框

VBA选择工作表中的所有列并自动调整Excel 2010中的所有列宽度

在所有工作表中自动打开Excel文件到单元格A1(使用VBA)