VBA第十讲 excel工作表操作

工作表种类:工作表(worksheet),图表,宏表等

下标越界的两种情况,第一种是工作表不存在第二是数组超越下限

判断A工作表是否存在

Sub ttt10()

Dim x As Integer

For x = 1 To Sheets.Count

If Sheets(x).Name = "第shi讲" Then

MsgBox "A exist"

Exit Sub

End If

Next

MsgBox "not exist"

End Sub


工作表的插入

Sub ttt11()

Dim sh As Worksheet

Set sh = Worksheets.Add

sh.Name = "第十讲"

sh.Range("a1") = "love my life"

End Sub

‘工作表插入时候犯了一个错误,在set 那一行,worksheet后面没有加s,导致运行出行了424错误。

试下add那里后面能不能加括号然后让新插入的工作表直接改名?’不可以,需要后续加语句sh.name = 重新给新插入工作表命名。

工作表的隐藏和取消隐藏

Sub ttt12()

Sheets("第十讲").Visible = False

End Sub

工作表的移动

Sub ttt13()

Sheets("第十讲").Move after:=Sheets("第九讲")

End Sub

‘注意此处语法,after后面是冒号等号,

Sub ttt14()

Sheets("第十讲").Move after:=Sheets(Sheets.Count)

End Sub

’把第十讲放在所有单元格最后面,工作表的移动,相当于excel中手工操作移动或复制工作表选项中,不建立副本,选择建立副本就相当于工作表的复制操作。

工作表的复制

Sub ttt15()

Dim sd As Worksheet

Sheets(2).Copy before:=Sheets("第一讲")

Set sd = ActiveSheet

sd.Name = "1日"

sd.Range("a1") = 124

End Sub

‘为什么copy语句那里不能采用set sd = sheet(2).copy(before:=sheet("第一讲")呢, 原因是copy返回的值是true或者是false,不是一个对象。

如果copy后面不加任何语句,就相当于建立一个新的工作簿,实际我操作中,在A文件中运行上面代码,不同的是删除掉copy之后的语句,运行后发现,直接弹出一个新的excel工作簿。

另存工作簿

Sub ttt15()

Dim sd As Workbook

Sheets(2).Copy

Set sd = ActiveWorkbook

sd.SaveAs ThisWorkbook.Path & "/2日.xls"

sd.Sheets(1).Range("b1") = 124

sd.Close True

End Sub

保护工作表

Sub ttt16()

Sheets("第十讲").Protect "123"

End Sub

工作表删除

sub ttt17()

application.displayalerts = false

sheets("sheet2").delete

application.displayalerts = true

end sub

工作表的选取

Sub ttt18()

Sheets("第九讲").Select

End Sub

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本例为设置密码窗口 (1) If Application.InputBox(“请输入密码:”) = 1234 Th...
    浮浮尘尘阅读 13,778评论 1 20
  • VBA 第十讲练习题 第一题 背景知识 val函数的参数是字符串,格式为 val(字符串) 我对这函数的理解是:他...
    肉丸子豆阅读 1,473评论 0 0
  • 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得...
    浮浮尘尘阅读 21,875评论 6 49
  • excel事件程序和宏程序的区别 a.编写位置不同。事件程序只能在工作表的代码窗口编写,不可以在模块窗口中编辑,宏...
    肉丸子豆阅读 1,388评论 0 0
  • 按部门列拆分工作表数据,生成新的工作表。 思路: 1.删除除数据源工作表外的所有工作表。 2.提取部门名称,也就是...
    叶知行阅读 910评论 0 3