Excel 宏录制与VBA编程 —— 11、工作表及工作簿操作(附:Worksheets与Sheets区别)

发布于:2024-06-25 ⋅ 阅读:(172) ⋅ 点赞:(0)
代码1 - Worksheets与Sheets区别

     Worksheets表示普通工作表;Sheets即可表示普通工作表也可表示图标工作表。

' 下面模块中代码结果是一样的,大家理解时可结合上面区别说明进行了解
Sub Test()
    Worksheets("Sheet1").Range("A1").Value = 100
    Sheets("Sheet1").Range("A1").Value = 200
End Sub

代码2 - 使用工作表代码对单元格赋值

在这里插入图片描述

' 对工作表"Sheet2"的C4单元格设置内容为100
Sub SheetTest()
    '方式一:通过指定工作表名称找到工作表
    Worksheets("Sheet2").Range("C4").Value = 100
    
    '方式二:通过工作表索引找到工作表
    Worksheets(2).Range("C4").Value = 100
    
    '方式二:通过选定工作表后再进行赋值(选择工作表后execl会切换道对应工作表界面)
    Worksheets("Sheet2").Select
    Range("C4").Value = 100
End Sub

代码3 - 工作表添加、修改名称
Sub SheetTest()

    ' 添加一个默认工作表,创建在当前工作表左侧
    'Sheets.Delete
    
    ' 创建工作表在Sheet2工作表左侧
    ' Sheets.Add before:=Sheets("Sheet2")
    
    ' 创建工作表在Sheet2工作表右侧
    ' Sheets.Add after:=Sheets("Sheet2")
    
    ' 创建名为"测试工作表"工作表在Sheet13工作表左侧
    Sheets("Sheet13").Select
    Sheets.Add.Name = "测试工作表"

End Sub

代码4 - 工作表移动
Sub SheetTest()

    ' 将"临时表"工作表移动至"测试工作表"工作表左侧
    'Sheets("临时表").Move before:=Sheets("测试工作表")
    
    ' 将"临时表"工作表移动至"Sheet16"工作表右侧
    Sheets("临时表").Move after:=Sheets("Sheet16")

End Sub

代码5 - 工作表复制
Sub SheetTest()

    ' 将"临时表"工作表移动至"测试工作表"工作表左侧
    'Sheets("临时表").Copy before:=Sheets("测试工作表")
    
    ' 将"临时表"工作表移动至"Sheet16"工作表右侧
    Sheets("临时表").Copy after:=Sheets("Sheet16")

End Sub

代码6 - 工作表删除
Sub SheetTest()

    ' 对"Sheet6"工作表进行隐藏或显示
    'Sheets("Sheet6").Visible = False
    'Sheets("Sheet6").Visible = True
    
    
    ' 删除"Sheet18"工作表(默认删除会有弹窗提醒)
    ' Sheets("Sheet18").Delete
    
     ' 删除"测试工作表"工作表(禁用系统弹窗提醒)
    Application.DisplayAlerts = False
    Sheets("测试工作表").Delete
    Application.DisplayAlerts = True
    
End Sub

代码7 - 使用ForEach遍历工作表
Sub WorkbooksTest()

    Dim sheet As Worksheet
    For Each sheet In Worksheets
        MsgBox sheet.Name
    Next sheet
    
End Sub

关注

笔者 - jxd


网站公告

今日签到

点亮在社区的每一天
去签到