如何在excel 用VBA插入多个工作表并命名。要用到宏。给分给分~

如何在excel 用VBA插入多个工作表并命名。要用到宏。给分给分~,第1张

具体 *** 作步骤如下:

1、第一步,打开Excel表格,在主界面按Alt+f11下快捷键,如图所示。

2、第二步,进入到VBA编辑器,点击上面菜单栏中的插入,再选择【模块】,如图所示。

3、第三步,在d出的模块窗口中,输入下面的代码:

Option Explicit

Sub addwork()

Sheets.Add after:=Sheets(Sheets.Count)

End Sub,

如图所示。

4、第四步,输入好后,在编辑器的左侧,输入模块的名称。如图所示。

5、第五步,关闭编辑器窗口,返回到表格中,点击上方菜单栏中的视图,再点击下方菜单栏的宏,选择查看宏,如图所示。

6、最后一步,在d出的宏窗口中,单击宏名,再单击【执行】就可以了,如图所示。

你可以用录制宏的方法做一下插入工作表,然后在查看一下代码,就知道了。

下面就是用这种方法得到的代码,你可以相应的改一下来得到你想要的结果!

Sub 插入()

Sheets.Add After:=Sheets(Sheets.Count)

Sheets("Sheet1").Select

Sheets("Sheet1").Name = "工作表名"

End Sub

1.打开表格

2.按alt+F11

3.点击插入

4.点击模块

5.粘贴如下代码

'自定义公式-按ALT+11-插入-模块(提取)

Sub 提取()

If MsgBox("为避免使用时表格被占用,您将提取收货人为 陈杭荣 所在行至 陈杭荣流水账 后删除该行,是否继续", vbOKCancel) = vbOK Then

UserForm1.Show 0

DoEvents

当前表名 = ActiveSheet.Name

line:

If Sheets(Sheets.Count).Name = "陈杭荣流水账" Then

Else

Sheets.Add After:=Sheets(Sheets.Count)

ActiveSheet.Name = "陈杭荣流水账"

GoTo line

End If

Sheets(当前表名).Select

EndH = Range("e65536").End(xlUp).Row

For i = EndH To 1 Step -1

XX = Range("G" &i).Value

If InStr(XX, "陈杭荣") <>0 Then

m = m + 1

Range("G" &i).EntireRow.Copy Sheets("陈杭荣流水账").Range("a" &m)

Range("G" &i).EntireRow.Delete '

End If

Next

Call 复制表

UserForm1.Hide

MsgBox "已拷贝删除完成"

End If

End Sub

Sub 复制表()

Dim MyBook1 As Workbook

FNAME = ThisWorkbook.Name

Set MyBook1 = Workbooks.Open("\\192.168.1.110\供应部\仓储处1\流水帐\外协库流水帐\2020年外协库流水账\陈杭荣流水账.xlsm")

Workbooks(FNAME).Sheets("陈杭荣流水账").Range("A1:I500").Copy Workbooks("陈杭荣流水账.xlsm").Sheets("提取").Range("A65536").End(xlUp).Offset(1, 0)

Workbooks("陈杭荣流水账.xlsm").Save

MyBook1.Close

Application.DisplayAlerts = False

Workbooks(FNAME).Sheets("陈杭荣流水账").Delete

Application.DisplayAlerts = True

End Sub


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

原文地址: http://outofmemory.cn/bake/11429395.html

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

发表评论

登录后才能评论

评论列表(0条)

保存