表操作

作者: A_rrow | 来源:发表于2019-06-27 12:58 被阅读0次

    选择表 -- select

    Sheets(2).select
    Sheets("2月").Select
    Sheet2.select
    注意前两种写法sheet都带s

    单元格及表的操作

    在单元格中输入指定的值
    Sheet2.range(“a1”) = 100
    统计表的数量 并返回到a1
    Range(“a1”) = Sheets.count
    在最后的位置上插入一张新表
    Sheets.Add after:=Sheets(Sheets.Count)
    在指定位置插入新表将Sheets.Count改成对应的表名即可
    表命名
    Sheets(1).Name = "10"
    Sheets("表名").Name = "10"
    Sheet1.Name = “10”

    新建5张表,并分别命名为1月、2月....

    Dim j As Integer
    For j = 1 To 5
       Sheets.Add after:=Sheets(Sheets.Count)
       Sheets(Sheets.Count).Name = j & "月份"
    Next
    

    新建100张表

    Sheets.Add Count:=100
    

    依次取表名

    Dim i As Integer
    For i = 1 To Sheets.Count
    此处不能用 i+1 是因为下标会发生错误超出表的个数
       Range("a" & i) = Sheets(i).Name
    Next
    

    往最后的位置复制表1

    Sheet1.Copy after := Sheets(Sheets.Count)
    

    删除表

    # 删除第一张表
    Sheet1.delete
    

    去除表删除时发出的警告

    excel.Application.DisplayAlerts = False
    

    记得最后要打开警告

    excel.Application.DisplayAlerts = True
    

    删除100张表

    Dim i As Integer
    For i = 1 To 10   # 注意循环的次数,不能大于当前表
       Excel.Application.DisplayAlerts = False
       Sheets(1).Delete
       Next
       Excel.Application.DisplayAlerts = True
    

    表的复制

    复制表1到表3的后面

    Sheet1.copy after : = Sheet3
    

    复制到当前表后

    sheet1.copy after : = Sheets(Sheets.count)
    

    习题


    补充完整专业代号和称呼,并将名字为空的行删除

    Sub test()
    Dim i As Integer
    Dim j As Integer
    
    For j = 1 To Sheets.Count
        For i = 100 To 2 Step -1
            If Sheets(j).Range("e" & i) = "男" Then
                Sheets(j).Range("f" & i) = "先生"
            Else
                Sheets(j).Range("f" & i) = "女士"
            End If
            
            If Sheets(j).Range("b" & i) = "理工" Then
                Sheets(j).Range("c" & i) = "LG"
            ElseIf Sheets(j).Range("b" & i) = "文科" Then
                Sheets(j).Range("c" & i) = "WK"
            Else
                Sheets(j).Range("c" & i) = "CJ"
            End If
            
            If Sheets(j).Range("d" & i) = "" Then
                Sheets(j).Range("d" & i).EntireRow.Delete
            End If
        Next
    
    Next
    
    End Sub
    

    相关文章

      网友评论

          本文标题:表操作

          本文链接:https://www.haomeiwen.com/subject/fwvaqctx.html