精华内容
下载资源
问答
  • 【VBA研究】统计Excel 工作表数量

    千次阅读 2015-02-26 09:23:05
    VBA编程中如果对每一个工作表循环处理,就需要知道工作表的数量,常见的方法如下: 1、当前工作簿中工作表数量 num = ThisWorkbook.Sheets.Count 这当前工作簿就是VBA程序所在的工作簿,那么其它工作簿中工作表...

    作者:iamlaosong

    VBA编程中如果对每一个工作表循环处理,就需要知道工作表的数量,常见的方法如下:

    1、当前工作簿中工作表数量

    num = ThisWorkbook.Sheets.Count

    这当前工作簿就是VBA程序所在的工作簿,那么其它工作簿中工作表的数量如何统计呢?

    2、活动工作簿中工作表数量

    Windows(datfile).Activate

    num = ActiveWorkbook.Sheets.Count

    3、知道文件名的工作簿中工作表数量

        datfile = Cells(1, 5)
        datFullName = ThisWorkbook.Path & "\" & datfile
        If Dir(datFullName, vbNormal) <> vbNullString Then
            Workbooks.Open Filename:=datFullName        '打开订单文件
        Else
            MsgBox datfile & "不存在!", vbOKOnly, "iamlaosong"
            Exit Sub
        End If
        num = Workbooks(datfile).Sheets.Count
    


    展开全文
  • EXCEL函数篇 跨工作表统计数据

    千次阅读 2020-07-30 10:47:50
    工作表求和汇总 对于多表的数据汇总,可以SUMIF()+SUMIF+SUMIF()函数 语法:SUMIF(区域,条件,[求和区域]) SUMIF函数支持多表同时求和,但必须用indirect函数生成对多表的引用 即: INDIRECT("订单"&...

    多工作表统计

    1.多工作表统计求和

    对于多个表的数求和汇总,可以SUMIF()函数

    语法:SUMIF(区域,条件,[求和区域])

    1.1. 表名无规律

    SUMIF+SUMIF()+SUMIF()+SUMIF()函数

    1.2. 表名存在规律

    SUMIF函数支持多表同时求和,但必须用indirect函数生成对多个表的引用

    即:

    INDIRECT("订单"&ROW($1:$4)&"!A:A")

    INDIRECT("订单"&ROW($1:$4)&"!B:B")

    用SUMIF组合起来,即:

    =SUMIF(INDIRECT("订单"&ROW($1:$4)&"!A:A"),A2,INDIRECT("订单"&ROW($1:$4)&"!B:B")

    而上述的公式返回的每个表的求和结果,是一组数,最后还需要用SUMPRODUCT函数进行求和,即:

    =SUMPRODUCT(SUMIF(INDIRECT("订单"&ROW($1:$4)&"!A:A"),A2,INDIRECT("订单"&ROW($1:$4)&"!B:B")))

     

    展开全文
  • 统计文件中字符个数

    万次阅读 2015-09-02 09:49:22
    数据集有一名称 叫做文件名。文件通常是驻留在外部介质上的,在使用的时候才调 入内存中。就文件的分类,有很多种分类方式,在这里我们看一下文件编码方式。 根据文件的编码方式,文件可以分为ASCII码文件...

    所谓“文件”是指一组相关数据的有序集合。这个数据集有一个名称
    叫做文件名。文件通常是驻留在外部介质上的,在使用的时候才调
    入内存中。

    就文件的分类,有很多种分类方式,在这里我们看一下文件编码方式。
    根据文件的编码方式,文件可以分为ASCII码文件和二进制文件。
    ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个
    字节,用于存放对应的ASCII码。例如,数字5678的存储形式为:
    ASCII码: 00110101 00110110 00110111 00111000
    十进制码: 5 6 7 8
    共占用4个字节。ASCII码文件可在屏幕上按照字符显示。

    二进制文件是按照二进制的编码方式来存放文件的。例如,数字5678的
    存储形式为00010110 00101110,只占两个字节,二进制文件虽然可以在屏幕上显示,但是其内容无法读懂。C语言处理这些文件的时候,并不区分类型,都看成是字符流,按字节进行处理。

    文件指针在C语言中用一个指针变量指向一个文件,这个指针称为文件指针。通过文件指针就可对他所指的文件进行各种操作。定义文件指针的一般形式为”FILE “指针变量标识符。其中FILE应为大写,他实际上是由系统定义的一个结构,该结构中含有文件名,文件状态和文件当前位置等信息。在编写源程序的时候,不必关心FILE结构的细节。例如”FILE fp”表示fp是指向FILE结构的指针变量,通过fp即可找到存放某个文件信息的结构变量,然后按照结构变量提供的信息找到该文件,实施对文件的操作。

    在C语言中,文件操作都是由库函数来完成的。文件操作主要有打开,读写和关闭等。

    1:文件打开函数fopen

    fopen函数用来打开一个文件,其调用的一般形式为:
    文件指针名 = fopen(文件名,使用文件方式)
    其中,“文件指针名”必须被说明为FILE类型的指针变量,“文件名”是被打开文件的文件名。
    “使用文件方式”是指文件的类型和操作要求。“文件名”是字符串常量或字符串数组。
    例如:
    FILE fp;
    fp = fopen(“file.a”,”r”);
    //他的意思是在当前目录下打开文件file.a,只允许进行“读”操作,并且使得fp指向该文件
    使用文件的方式一共有12种。

    这里写图片描述

    对于文件使用方式有以下几点说明:

    文件使用方式由r,w,a,t,b,+共6个字符组合成,各个字符的含义是:r(read)读,w(write)写,
    a(append)追加,t(text)文本文件,可省略不写;b(binary)二进制文件;”+”读和写
    用r打开一个文件的时候,该文件必须已经存在,且只能从该文件读出
    用w打开的文件只能向文件中写入,若打开的文件不存在,则以指定的文件名建立
    该文件,如打开的文件已经存在,则将该文件删去,从新建立一个文件
    若要向一个已经存在的文件追加新的信息,只能用a方式打开文件。但此时该文件必须是
    存在的,否则将会出错。

    在打开一个文件的时候,如果出错,fopen将会返回一个空指针值NULL。在程序中可以
    用这一信息来判别是否完成打开文件的工作,并做相应的处理。举个例子:

    if((fp=fopen(“file.a”,”rb”)) == NULL)
    {
    printf(“\nerror no open file.a!”);
    getch();
    exit(1);
    }

    2:关闭文件

    调用的一般形式是:
    fclose(文件指针);
    正常完成关闭文件操作的时候,fclose函数返回值为0,如返回非零值则表示有错误发生

    3:文件读写函数

    在C语言中提供了很多文件读写的函数。字符读写函数fgetc和fputc;字符串读写函数fgets和
    fputs;数据块读写函数fread和fwrite;格式化读写函数fscanf和fprintf;这些函数
    都包含在stdio.h头文件中。

    (1):读字符函数fgetc

    fgetc函数的功能是从指定的文件中读取一个字符,函数的调用形式为:
    字符变量 = fgetc(文件指针);
    注意文件指针和文件内部的位置指针是不同的。文件指针是指向整个文件的,
    需要在程序中定义说明,只要不重新赋值,文件指针的值是不变的。文件内部的
    位置指针用以指示文件内部的当前读写位置,每读写一次,该指针均向后移动,
    他不需要在程序中定义说明,而是由系统自动设置的。

    (2):写字符函数fputc

    fputc函数的功能是把一个字符写入指定的文件中,函数的调用形式为:
    fputc(字符,文件指针);
    fputc函数有一个返回值,如果写入成功,则返回写入的字符,否则返回EOF

    (3):字符串读写函数fgets和fputs

    读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符数组中,
    函数的调用形式为:
    fgets(字符数组名,n,文件指针);
    其中n是一个正整数,表示从文件中读出的字符串不超过n-1个字符,在读入的最后
    一个字符加上串结束标识’\0’。对fgets函数有两点说明:在读出n-1个字符之前,如果
    遇到了换行符或者是EOF,则结束操作。fgets函数也有返回值,其返回值是字符数组的首
    地址。
    写字符串函数调用形式:
    fputs(字符串,文件指针);

    (4):块数据读写函数fread和fwrite

    调用形式:
    fread(buffer,size,count,fp);
    fwrite(buffer,size,count,fp);
    buffer是一个指针,在fread中,他表示存放输入数据的首地址。在fwrite中,
    他表示存放输出数据的首地址。size表示数据块的字节数,count表示要读写的
    数据块的块数。

    (5)格式化读写函数fcanf和fprintf

    调用形式:
    fcanf(文件指针,格式字符串,输入表列);
    fprintf(文件指针,格式字符串,输出表列);

    下面就是我们这个实例的要求:

    编写统计文件的字符数的程序,主要学习文件的概念
    和文件操作等内容。
    

    下面是我的代码实现:

    #include <stdio.h>
    #include <stdlib.h>
    
    /**
     * 编写统计文件的字符数的程序,主要学习文件的概念
     * 和文件操作等内容。
     */
    int main()
    {
        /** 保存字符个数 **/
        int count = 0;
    
        /** 保存文件名 **/
        char fname[80];
    
        /** 文件指针 **/
        FILE *fp;
    
        printf("Please enter the file name:");
        scanf("%s",fname);
    
        if((fp = fopen(fname,"r")) == NULL){
            printf("Open file failed!!\n");
            exit(1);
        }
    
        count = 0;
        while(fgetc(fp) != EOF)
            count++;
    
        fclose(fp);
    
        printf("There are %d characters in file %s.\n",count,fname);
    
        return 0;
    }
    

    下面是我的测试用例(名称为test.txt):

    cnuidocncn  cwncviow 
    wedcvnwicvmnw 
    dcvnwidcvn 
    
    cvwiovm 
     wvcewoivm 
    w
    evcovw 
    vcmweiocvmw
    
    mvciomvw 
    nvi] v
    wevmovjov
    wvjkvnivpvm
    wvciwmvw
    'nvoikvv
    nvwvmje
    
    ewevvvv
    wvwkvnpowiehf]ewnveiowv

    好了,最后看一下我的运行过程:

    这里写图片描述

    除此之外,我们还可以对文件进行随机读写。在C中提供了一些文件定位的函数,我们常用的有两个:rewind和fseek。

    这两个函数的调用形式分别为:

    rewind(文件指针)。

    他的功能是把文件内部的位置指针移到文件首。

    fseek(文件指针,位移量,起始点);

    将文件内部位置指针移动到我们想要的位置。

    展开全文
  • CString sFile,sPath;  _Application app;  Workbooks books;  _Workbook book;  Worksheets sheets;... //工作表个数  LPDISPATCH lpDisp; //接口指针  //获取主程序所在路径,存在sPa

     CString sFile,sPath;
     _Application app;
     Workbooks books;
     _Workbook book;
     Worksheets sheets;
     _Worksheet sheet;
     int count=0; //工作表个数
     LPDISPATCH lpDisp;  //接口指针
        //获取主程序所在路径,存在sPath中
     GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);
     sPath.ReleaseBuffer ();
        int nPos;
     nPos=sPath.ReverseFind ('//');
     sPath=sPath.Left (nPos);
     sPath=ExcelMain.GetAppPath();
     sFile = sPath + "//基站信息表-1225.xls";    // 将被读取的Excel文件名
     
     COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
     
        if(CoInitialize(NULL)!=0) 
     { 
      AfxMessageBox("初始化COM支持库失败!"); 
      exit(1); 
     }
     
     //start Excel 2003 server 
     if (!app.CreateDispatch("Excel.Application",NULL)) 
     {
      AfxMessageBox("创建Excel服务失败!");
      exit(1);
     }
     
     CString sheetName;
     
     books=app.GetWorkbooks();

     lpDisp = books.Open(sFile,
            covOptional, covOptional, covOptional, covOptional,
            covOptional, covOptional, covOptional, covOptional,
            covOptional, covOptional, covOptional, covOptional);

     book.AttachDispatch( lpDisp );
     sheets=book.GetSheets();
     count=sheets.GetCount(); //获得工作表数量

     CString temp;
     temp.Format("%d",count);
     AfxMessageBox(temp);
     //循环所有表
     for(int i=1;i <=count;i++)
     {
      // AfxMessageBox("开始获取工作表!"); 
      //获取第i个工作表
      sheet=sheets.GetItem(COleVariant((short)i));
      sheetsNames[i] = sheet.GetName();//第i个工作表的表名  就是你要的表名 自己写个字符串数组或结构体来接收
      
     }
     app.Quit();

    展开全文
  • 统计excel数据表数量 Sub sheetcount() ...MsgBox "工作表数量" & num End Sub 统计excel数据表数量并将数据表名目放在当前代码所在的表单中 Sub a() For Each sh In Sheets k = k + 1 Cells(k, 1...
  • 原数据表如下(datasource.xlsx),在同一工作簿中有三张工作表,里面都有数据。目标效果如下(allcase.xls):import xlwt import xlrd newWb = xlwt.Workbook() #创建新工作簿newWb newSheet = newWb...
  • 做为信息收集人员,可能经常需要统计Excel文件收集来的信息,对多Excel、对多个工作簿、对多表格进行统计统计的维度包含按文件名、按表名进行求和、求排名、求平均值、条件统计、条件求和、文字汇总、多...
  • 统计表格中相同数据的出现个数

    千次阅读 2018-01-31 09:13:40
    3、在弹出创建数据透视表中选择一表或区域 and 新工作表 4、 在数据透视表的第一行,右边勾选总时间。 5、将勾选的总时间拖拽到值目录 6、数据出现的次数统计完毕 7、可以将数据出现的次数以...
  • Excel如何实现两个工作表数据的对比

    千次阅读 2018-12-25 17:53:00
    获取工作表总列 sLength = sSheet.Cells(Rows.Count, " A " ).End(xlUp).Row dLength = dSheet.Cells(Rows.Count, " A " ).End(xlUp).Row ' 打印总列 Debug.Print " source sheet length: " & ...
  • 在Excel中统计出指定区域的空单元格个数和非空单元格个数一、COUNTBLANK语法:COUNTBLANK(range)Range为需要计算其中空白单元格个数的区域。说明:即使单元格中含有返回值为空文本 ("")的公式,该单元格也会计算在内...
  • sql查询统计
  • 深入了解Excel工作表中的控件

    千次阅读 2018-03-02 03:44:38
    Excel工作表中可以使用两种控件:表单控件和ActiveX控件。 插入控件 使用VBA在工作表中插入控件非常简单。 Sub AddCtls() '表单控件 ActiveSheet.Buttons.Add 87.75, 33, 86.25, 33 ActiveSheet....
  • 通过VBA宏合并Excel工作表

    万次阅读 2011-04-16 10:37:00
    工作中经常会用到的把几Excel文件合并到一,或者是把一Excel文件里的所有Sheet合并到一Sheet来进行统计。下面分别提供用vba宏来解决这两问题的方法。 1、合并Excel文件 打开一空Excel...
  • 不熟悉VBA的可以直接下载使用:下载打包的宏文件熟悉VBA的可以拷贝我的代码文件自行粘贴或修改以... Dim arr(200) As Long #用于统计表数 Dim str_arr(200) As String #用于计录文件名 Dim i, n, n_f, r_i, c_i ...
  • qlikview工作表对象(图表)的用法

    千次阅读 2012-03-01 12:07:35
    1 透视  1)需要注意的属性是外观,属性界面如下图 [纬度和表达式]这块,标准年份和标准月份及医保_科室参保这三是纬度,其它都是表达式,若想根据它们统计总和,选中纬度,构选下面的[显示部门和],界面...
  • 昨天下午,公司的项目需要新增一对试卷的分析,就是根据一张试卷中的所有试题进行知识点统计,每知识点各有几道题. 乍一看十分简单,COUNT(0),GROUP BY就好了呀,可是问题就出在这GROUP BY上,因为一道题可能对应多...
  • VBA处理工作表合并单元格 - 格式篇

    千次阅读 2018-03-01 01:49:30
    Excel合并单元格是有人爱有人恨的功能,一般来说数据分析师都非常憎恨这功能,因为合并单元格常常闹幺蛾子,导致数据统计和格式化障碍重重。 格式篇 对于普通的规整数据,如果需要设置成间隔填充颜色,可以...
  • 按键精灵---之工作表数据提取示例

    千次阅读 2010-05-08 14:35:00
    1. http://bbs.yyvcr.cn/read.php?tid=29工作表数据提取示例(按键精灵版) 条件是这样的:在d:/盘下有工作表"1.xls",里面记录了一些用户的资料:姓名和密码。现在我,我们需要在软件或者网页上提交登陆。用途:可以...
  • 转载自:http://www.educity.cn/office/7090.htmlExcel中VBA 的Round 函数与工作表Round 函数的区别是什么浏览:1306|更新:2015-09-19 14:302015-09-18更新 此答案由站在风中的女子提供1VBA的Round函数与工作表的...
  • 如何快速统计Excel中Sheet

    万次阅读 2018-06-20 19:03:58
    在excel中使用组合快捷键 alt + F11 调出vba编辑器选中左侧项目名称,右键-&gt;插入-&gt;模块将如下代码复制到新建模块窗口中,并使用快捷键F5运行Sub sheetcount() Dim num As Integer ... 个工作表...
  • Hbase 统计表行数的3种方式总结

    万次阅读 2015-06-02 14:53:26
    有些时候需要我们去统计某一hbase的行数,由于hbase本身不支持SQL语言,只能通过...可以通过一下几种方式实现hbase的行数统计工作: 1.count命令 最直接的方式是在hbase shell中执行count的命令可以统计行数。
  • 最近一直在学习python,在此之间,我无时无刻不在感受着python这语言的强大魅力。比起C语言,他简单易懂、易学... 先写一刚学会的题目: 题目: 给一字符串,统计其中的数字、字母和其他类型字符的个数; 比
  • excel中如何计算个数,使用这方法,给出汉字描述,自动生成Excel统计公式。支持Excel中分类统计数量 地址:http://www.excelfb.com/ 点击:Excel自动写公式工具(根据汉字描述写公式,支持合并单元格公式) ...
  • 来源于一真实的需求,一些设备需要通过读取诸如气压的示来判断设备是否正常工作或者确定是否达到加工产品所需的环境。一直以来都是依赖人工读取示,车间工人定时巡检读,相当于等间隔采样,但是示的变化...
  • Tableau工作表2.1 Tableau工作表2.2 Tableau编辑元数据3. Tableau字段操作3.1 合并字段3.2 字段分层3.3 字段分组3.4 字段拆分3.5 计算字段3.6 集4. Tableau函数与计算4.1 Tableau中的运算符4.2 Tableau函数(1)...
  • [VBA]探讨在工作表中找到最后一行

    万次阅读 2012-02-02 14:35:42
    但正如前面所讲述的,关键是要清楚Excel将“已使用范围”、“当前区域”、和一些常量如xlCellTypeLastCell在工作表中代表什么区域,以及您是在什么情形下查找最后一行,然后选用合适的方法,以确保找到正确的最后一...
  • HBase统计表行数(RowCount)的四种方法

    万次阅读 多人点赞 2018-09-27 00:32:19
    对于其他数据存储系统来说,统计表的行数是再基本不过的操作了,一般实现都非常简单;但对于HBase这种key-value存储结构的列式数据库,统计 RowCount 的方法却有好几种不同的花样,并且执行效率差别巨大!下面来研究...
  • 指针式仪表的自动读与识别

    千次阅读 多人点赞 2020-05-04 16:28:22
    指针式仪表的自动读与识别前言步骤概括1.仪表图像预处理2.刻度线提取2.1轮廓查找2.2面积筛选,长宽比,距离2.3刻度线轮廓拟合直线3.指针轮廓提取4.结果5.Pyqt55.1功能测试总结 前言 本文讲述了指针仪表示读取的...
  • Function getlastcell(mysheet As String, Optional startrow As Integer) As Integer Sheets(mysheet).Select rowcountinu = False If startrow = 0 Then startrow = 2 End If For i = startrow To st...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 252,875
精华内容 101,150
关键字:

如何统计工作表个数