• vba 两个表 信息合体一个表格


    1 把Excel某一区域的内容读入到数组中:
    
    Dim strArray() As Variant
    
    Dim wk_data As Variant
    
    Set wk_data = Sheets("Sheet1")
    
    strArray = wk_data.Range("A1:CV100").Value
    
     
    
    2 把数组的内容写入到Excel中
    
    wk_data.Range("A1").Resize(UBound(strArray, 1), UBound(strArray, 2)).Value = strArray
    
    

      vba的强大在于 规范  文件名wookbooks- 1工作表名sheets ,2工作表名sheets ,3工作表名sheets ,n工作表名sheets 

                                                       1字段名 21字段名 3字段名 n字段名

                                                      最大行 最大列

                                                     循环  +遍历  +判断+分割

                                                     操作  复制  粘贴  改变属性

    1.1.1 方法1:
    ActiveSheet.UsedRange.Rows.Count
    ActiveSheet.UsedRange.Columns.Count
    缺点:有时可能会比实际数大一些,原因是如果你把最后几行(列)数据清除后(非整行或整列删除),用这个命令仍返回未清除前的值。就是说现在虽然是空的,但是你曾经用过也算你的。
    1.1.2 方法2:
    ActiveSheet.Range("A65535").End(xlUp).Row
    ActiveSheet.Range("IV1").End(xlToLeft).Column
    可以简写为:
    ActiveSheet.[A65536].End(xlUp).Row
    ActiveSheet.[IV1].End(xlToLeft).Column
    缺点:只能计算出一列(行)的最后一个单元格所在的行(列)数。本例是只返回A列最后一个单元格所占的行数。
    1.1.3 方法3:
    ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
    ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Column
    缺点:在工作表进行对删除或清除操作时也会变得比实际情况大。
    1.1.4 方法4:
    ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
    ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
    缺点:在工作表进行对删除或清除操作时也会变得比实际情况大。
    1.1.5 方法5:
    Application.CountA(ActiveSheet.Range("A:A"))
    Application.CountA(ActiveSheet.Range("1:1"))
    只能统计一列(行)的实际使用情况,得到的不一定是最后一行(列)的位置。方法2的数值比此方法大时,说明在A列的数据间有空白未填写的单元格。
    1.1.6 方法6:
    ActiveSheet.Cells.Find(What:="*",After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
    ActiveSheet.Cells.Find(What:="*",After:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
    效果同方法2
    1.1.7 方法7:
    MaxRow =Application.Evaluate("=MAX((A1:A1048576<>"""")*ROW(1:1048576))")
    1.1.8 方法8:
    Me.Cells(1048576,1).End(xlUp).Row’Excel2007
    Me.Cells(1048576,1).End(xlUp).Row’Excel2003
    这一代码返回工作表中最后一个包含非空内容的单元格所在的行号,而不管这一单元格与Me.Cells(1,1)之间是否有包含空白内容的单元格。而且这一方法将跳过或者说忽略被隐藏的单元格,比如,数据表有连续的50行,如果第48到50行隐藏了,则这一程序只返回47。
    1.1.9 方法9:
    Sheets("sheet1").Cells(Rows.Count,1).End(3).Row
    r = .Cells(.Rows.Count,1).End(xlUp).Row
    1.1.10 方法10:
    利用 Worksheet.Rows属性
    Private Sub DisplayRowCount()
    MsgBox("This worksheetcontains " & _ Me.Rows.Count.ToString() & " rows.")
    End Sub
    以上方法中比较常用的是方法1和方法2。
    评分
    

      

    相同的元素
    
    function  FilterData(a,b)
            {   //循环判断数组a里的元素在b里面有没有,有的话就放入新建立的数组中
                var result = new Array();
                var c=b.toString();
                for(var i=0;i<a.length;i++)
                {
                  if(c.indexOf(a[i].toString())>-1)
                  {
                  result.push(a[i]);
                  }      
                }
                return result;
            }
    
     
    
    不同的元素 a一定是比b数组长,然后找出a中和b不同的。即a去掉b以后的
    
    function  FilterData(a,b)
            {   //循环判断数组a里的元素在b里面有没有,有的话就放入新建立的数组中
                var result = new Array();
                var c=b.toString();
                for(var i=0;i<a.length;i++)
                {
                  if(c.indexOf(a[i].toString())==-1)
                  {
                  result.push(a[i]);
                  }      
                }
                return result;
            }
    

                       

  • 相关阅读:
    dart中Map类型详解
    洛谷P1582 倒水(二进制)
    maven依赖 临时转阿里云镜像
    java jdbc 连接数据库
    java 常用类
    java 异常处理
    java 对象 this static 封装
    java 面对对象 内存分析
    团队开发 git
    java 代码块
  • 原文地址:https://www.cnblogs.com/--3q/p/10871221.html
Copyright © 2020-2023  润新知