想删除excle表格中的文本框,包括文本框里面的文字和文本框本身
文本框有多个,全都位于第2-4行
删除文本框后删除第2-4行现在的问题是,删除文本框的时候就会出错
代码如下,大家帮我看看 Sheets(SheetName).Select
Sheets(SheetName).Copy after:=Sheets(SheetName)
Sheets(SheetName & " (2)").Select
Sheets(SheetName & " (2)").Name = SheetName2
Sheets(SheetName2).Select
Sheets(SheetName2).Cells(1, 1) = "项目风险一览表"
'Sheets(SheetName2).Shapes.Range(Array("Text Box 2", "Text Box 3", "Text Box 4", "Text Box 5", "Text Box 6", "Text Box 7", "Text Box 8", "Text Box 9", "Text Box 10", "Text Box 11", "Text Box 17")).Select
'Selection.Delete
'Sheets(SheetName2).Rows("2:4").Select
'Selection.Delete Shift:=xlUp
'Sheets(SheetName2).Columns("G:K").Select
'Selection.Delete Shift:=xlToLeft
文本框有多个,全都位于第2-4行
删除文本框后删除第2-4行现在的问题是,删除文本框的时候就会出错
代码如下,大家帮我看看 Sheets(SheetName).Select
Sheets(SheetName).Copy after:=Sheets(SheetName)
Sheets(SheetName & " (2)").Select
Sheets(SheetName & " (2)").Name = SheetName2
Sheets(SheetName2).Select
Sheets(SheetName2).Cells(1, 1) = "项目风险一览表"
'Sheets(SheetName2).Shapes.Range(Array("Text Box 2", "Text Box 3", "Text Box 4", "Text Box 5", "Text Box 6", "Text Box 7", "Text Box 8", "Text Box 9", "Text Box 10", "Text Box 11", "Text Box 17")).Select
'Selection.Delete
'Sheets(SheetName2).Rows("2:4").Select
'Selection.Delete Shift:=xlUp
'Sheets(SheetName2).Columns("G:K").Select
'Selection.Delete Shift:=xlToLeft
解决方案 »
- vb 和SQl 表的问题
- 关于 wmi PhysicalMedia 使用问题
- 还是关于treeview控件的问题
- 如何判断一个数组是否为空
- 一个参数传递的问题?
- 请问用shell打开一个应用程序,用什么函数可以将应用程序关闭
- 关于在vb中控制EXCEL的问题
- 为什么我的VB程序离开开发环境速度变的很慢?能解决单独送200分
- sos(on line)
- 怎样把SQL SEVER数据库文件移到另外一台电脑上使用?
- 怎样用VB代码调用excel中的宏?
- VB操作Excel文件时出现错误componet busy:this action cannot be completed because the other application is busy
Sheets(SheetName).Copy after:=Sheets(SheetName)
Sheets(SheetName & " (2)").Select
Sheets(SheetName & " (2)").Name = SheetName2
Sheets(SheetName2).Select
Sheets(SheetName2).Cells(1, 1) = "项目风险一览表"
Sheets(SheetName2).Shapes.Range(Array("Text Box 2", "Text Box 3", "Text Box 4", "Text Box 5", "Text Box 6", "Text Box 7", "Text Box 8", "Text Box 9", "Text Box 10", "Text Box 11", "Text Box 17")).Select
Selection.Delete
Sheets(SheetName2).Rows("2:4").Select
Selection.Delete Shift:=xlUp
Sheets(SheetName2).Columns("G:K").Select
Selection.Delete Shift:=xlToLeft
一放在VBA里运行就是运行时错误,说“Range的select方法不正确”
TextBox2
还是
Text Box 2
for each a in sheets("sheet1").shapes
'如果还有其它shape,可以在这里用a.type或a.name来判断要删除哪些shape
a.delete
next
Sub Test()
On Error Resume Next
'定义变量
Dim SheetName, SheetName2 As String, Shp As Shape
'变量赋值
SheetName = "Sheet1"
SheetName2 = "NewSheet"
'复制表格
Sheets(SheetName).Copy after:=Sheets(SheetName)
'重命名,应该判断是否有重名,此处忽略
ActiveSheet.Name = SheetName2
With Sheets(SheetName2)
'删除所有shape对象
For Each Shp In .Shapes
Shp.Delete
Next
'修改相关内容
.Cells(1, 1) = "项目风险一览表"
.Rows("2:4").Delete Shift:=xlUp
.Columns("G:K").Delete Shift:=xlToLeft
End With
End Sub
Sheets(SheetName2).Shapes.Range(Array("TextBox2", "TextBox3", "TextBox4", "TextBox5", "TextBox6", "TextBox7", "TextBox8", "TextBox9", "TextBox10", "TextBox11", "TextBox17")).Select
应该是这样的吧?
代码运行的条件:有1张工作表,名字是:Sheet1。其中Sheet1中有很3个文本框,名字:TextBox1,TextBox2,TextBox3。还有1个命令按钮,名字:CommandButton1。
功能:单击命令按钮,复制Sheet1工作表,新复制的工作表名是NewSheet1,同时删除NewSheet1中所有的文本框和命令按钮,及删除NewSheet2的第2到第4行。不知道是不是楼主想要的。
在Sheet1中的命令按钮的单击事件中添加如下代码:
Private Sub CommandButton1_Click()
Worksheets("Sheet1").Copy after:=Worksheets("Sheet1") '复制新的工作表。
ActiveSheet.Name = "NewSheet1" '重新给新工作表命名为NewSheet1
Worksheets("NewSheet1").Activate
Worksheets("NewSheet1").Shapes.Range(Array("TextBox1", "TextBox2", "TextBox3", "CommandButton1")).Delete
Worksheets("NewSheet1").Rows("2:4").Delete
End Sub