• 操作单元格对象1——Excel之VBA(5)


    单元格对象选取

    3中选择方式:

    1)[a3]

    2) cells(3,1)

    3) range("a1")

    一、range 范围单元语句

    示例:

    range("a1:a10").select

    range("a1").value = 1

    注:单元格的默认属性就是.value,故而range("a1")= 1不报错

    1.range语句的属性

    1) Offset 偏移属性

    2) End 边界属性

    3) EntireRow 整行属性

    4) resize 重定义区域

    5) copy 复制单元格

    示例:

    range("a1").offset(2,3).select

    注:选中A1的下2,右3的偏移单元格,即D3

     range("a1").End(xlUP)

    注:选择A1所在数据区域的上边界,作用同双击单元格上边线

    range("a1").EntireRow

    注:整行

    range("a1").resize(1,3)

    注:重定义选择区域大小,选中A1单元格所在的1行3列区域

    Range.("h7:l7").copy Range("n7")

    注:复制区域h7到l7的内容,到n7开始的同等区域

     

    牛刀小试:

    要求:拆分数据到多表

    Sub chaifen()
    
    Dim i As Integer
    Dim k As Integer
    Dim j As Integer
    
    For j = 2 To Sheets.Count
    
        For i = 2 To Sheets(1).Range("a65536").End(xlUp).Row
        
            If Sheets(1).Range("d" & i).Value = Sheets(j).Name Then
                k = Sheets(j).Range("a65536").End(xlUp).Row
                Sheets(1).Range("d" & i).EntireRow.Copy Sheets(j).Range("a" & k + 1)
            End If
        
        Next
    Next
    
    
    End Sub

    算法思想:

    逐条扫描数据表取数据,取完一张表再去取下一张表

    数据表扫描次数,2到空行上边界。Sheets(1).Range("a65536").End(xlUp).Row,空行区域的上边界的行号

    若部门名与表名匹配,则复制整行到,目标表的第一个匹配到的空行。

    k = Sheets(j).Range("a65536").End(xlUp).Row,目标表的空行上边界
    k+1,即第一个空行
    扫描整表次数:2到
    Sheets.Count,表数

     带清除的拆分:

    Sub chaifen()
    
    Dim i As Integer
    Dim k As Integer
    Dim j As Integer
    
    Call clear
    
    
    For j = 2 To Sheets.Count
    
        For i = 2 To Sheets(1).Range("a65536").End(xlUp).Row
        
            If Sheets(1).Range("d" & i).Value = Sheets(j).Name Then
                k = Sheets(j).Range("a65536").End(xlUp).Row
                Sheets(1).Range("d" & i).EntireRow.Copy Sheets(j).Range("a" & k + 1)
            End If
        
        Next
    Next
    
    
    End Sub
    
    Sub clear()
    
    Dim i As Integer
    
    For i = 2 To Sheets.Count
        Sheets(i).Range("a2:f10000").ClearContents
        
    Next
    
    End Sub

    续:

  • 相关阅读:
    链队列的初始化,建立,插入,查找,删除。
    顺序队列的初始化,建立,插入,查找,删除。
    顺序栈的初始化,建立,插入,查找,删除。
    双链表的初始化,建立,插入,查找,删除。
    MT6737 Android N 平台 Audio系统学习----录音到播放录音流程分析
    内核Alsa之pcm
    platform_set_drvdata 和 platform_get_drvdata
    linux 中mmap的用法
    src源dst目标
    复旦软件工程专业课
  • 原文地址:https://www.cnblogs.com/zeon/p/13995869.html
Copyright © 2020-2023  润新知