EXCEL中单元格的颜色统计_第1页
EXCEL中单元格的颜色统计_第2页
EXCEL中单元格的颜色统计_第3页
EXCEL中单元格的颜色统计_第4页
EXCEL中单元格的颜色统计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、EXCEL中单元格的颜色统计其实,这个问题要用到一个特别的函数:get.cell解决这个问题的思路是,你首先得让系统知道你每种颜色的代码是多少。得到这个代码就用到这个函数。设你要统计的单元格在A列,B列为空列,操作如下:1,点插入,名称,定义,弹出的窗口第一行名称名内写入一个自定义的名称名字,可以是中文也可以是英文,比如XX,最下边一行的引用位置一行内填入:=get.cell(63.A1)确定。在B1中输入=XX,光标指向B1单元格右下角的小黑点,光标变成小黑实心十字时,双击左键。完成填充。这样操作以后,在B列中会出现各个单元格中底色的代码。用countif()函数对你要统计的单元进行统计,如

2、:=countif($B$1:$B$100,5)这个统计公式意思是统计至中颜色代码是的单元格有多少个。用辅助列可以做到假设列A为原数据列,选择列B为第一辅助列在插入-名称-定义里定义一个名称,X=GET.CELL(24,SHEET1!A1)在B1中输入=X这样你就会看到列B中有对应的列A颜色返回的数值,假定黑色格子的颜色数值为1再利用一辅助列C,在列C输入公式=IF(OR(B:B=1,B:B=57,B:B=0),A:A+3,A:A),即可得所需变更后的全部数值列最后便是利用选择性拷贝的方法,将C列的值复制到A列,就可以完成全部操作了注意:1、GET.CELL(24,SHEET1!A1)其中24

3、代表字体颜色,换成38代表背景颜色用EXCEL来根据单元格的颜色来计数和求和步骤1:打开你的excel;步骤2:按Alt+F11键步骤3:VisualBasic编辑器菜单栏:插入模块步骤4:粘贴下面这段函数FunctionCountcolor(colAsRange,countrangeAsRange)DimicellAsRangeApplication.VolatileForEachicellIncountrangeIficell.Interior.ColorIndex=col.Interior.ColorIndexThenCountcolor=Countcolor+1EndIfNextice

4、llEndFunction步骤5:保存步骤6:粘贴下面这段函数FunctionSumcolor(colAsRange,sumrangeAsRange)DimicellAsRangeApplication.VolatileForEachicellInsumrangeIficell.Interior.ColorIndex=col.Interior.ColorIndexThenSumcolor=Application.Sum(icell)+SumcolorEndIfNexticellEndFunction步骤7:保存并关闭VisualBasic编辑器。使用函数countcolor统计单元格数量,其格

5、式为:countcolor(所要统计的颜色所在单元格,统计的区域)注:括号内为参数,下同。使用函数sumcolor来求和(所要统计的颜色所在单元格,统计的区域)/若是字体颜色FunctionSumfontcolor(colAsRange,sumrangeAsRange)DimicellAsRangeApplication.VolatileForEachicellInsumrangeIficell.Font.ColorIndex=col.Font.ColorIndexThenSumfontcolor=Application.Sum(icell)+SumfontcolorEndIfNexticel

6、lEndFunction1、建立Excel对象setobjExcelApp=CreateObject(Excel.Application)objExcelApp.DisplayAlerts=false不显示警告objExcelApp.Application.Visible=false不显示界面2、新建Excel文件objExcelApp.WorkBooks.addsetobjExcelBook=objExcelApp.ActiveWorkBooksetobjExcelSheets=objExcelBook.WorksheetssetobjExcelSheet=objExcelBook.Shee

7、ts(1)3、读取已有Excel文件strAddr=Server.MapPath(.)objExcelApp.WorkBooks.Open(strAddr&TempletTable.xls)setobjExcelBookobjExcelApp.ActiveWorkBooksetobjExcelBooksetobjExcelSheetsobjExcelBook.WorksheetssetobjExcelSheetsobjExcelBook.WorksheetssetobjExcelSheetobjExcelBook.Sheets(1)setobjExcelSheetobjExcelBook.Sh

8、eets(1)4、4、另存Excel文件objExcelBook.SaveAs5、objExcelBook.SaveobjExcelBook.SaveAs5、objExcelBook.Save错。)6、objExcelApp.QuitsetobjExcelAppstrAddr&TempTable.xls保存Excel文件笔者测试时保存成功,页面报退出Excel操作一定要退出Nothing操作操作Excel生成数据表1、在一个范围内插入数据objExcelSheet.Range(B3:k3).Value=Array(67,87,5,9,7,45H,45,54,1、在一个范围内插入数据objExc

9、elSheet.Range(B3:k3).Value=Array(67,87,5,9,7,45H,45,54,54,10)3、4、5、6、7、8、9、10、11、选中一个范围单元格左边画粗线条单元格右边画粗线条单元格上边画粗线条单元格下边画粗线条单元格设定背景色合并单元格插入行插入列2、在一个单元格内插入数据objExcelSheet.Cells(3,1).Value=InternetExplorer四、操作Excel生成Chart图1、创建Chart图objExcelApp.Charts.Add2、设定Chart图种类objExcelApp.ActiveChart.ChartType=97注

10、:二维折线图,4;二维饼图,5;二维柱形图,513、设定Chart图标题objExcelApp.ActiveChart.HasTitle=TrueAtestChartobjExcelApp.ActiveChart.ChartTitle.Text=AtestChart4、通过表格数据设定图形objExcelApp.ActiveChart.SetSourceDataobjExcelSheet.Range(A1:k5),15、直接设定图形数据(推荐)objExcelApp.ActiveChart.SeriesCollection.NewSeriesobjExcelApp.ActiveChart.Se

11、riesCollection(1).Name=333objExcelApp.ActiveChart.SeriesCollection(1).Values=1,4,5,6,26、绑定Chart图objExcelApp.ActiveChart.Location17、显示数据表objExcelApp.ActiveChart.HasDataTable=True8、显示图例objExcelApp.ActiveChart.DataTable.ShowLegendKey=True我假设你的工作表已经有很多设置好背景颜色的单元格.如你上面讲的红.黄.蓝视图,工具栏,窗体打上勾.在窗体工具条上点击按钮在工作表上

12、拉出一个按钮.在弹出来的指定宏对话框中点新建这时会出现VBA窗口在自动生出来的Sub按钮1_单击()这是自动生出来的DimaAsRangeForEachaInSheets(sheet1).UsedRange在使用过的单元格内搜索Ifa.Interior.ColorIndex=6Thena=1000:a.Font.ColorIndex=3如果条件为真,在这个单元格内输入数值.并改变字体颜色ElseIfa.Interior.ColorIndex=5Thena=500:a.Font.ColorIndex=6ElseIfa.Interior.ColorIndex=3Thena=100:a.Font.C

13、olorIndex=5EndIfNextaEndSub这也是自动生出来的.请注意:复制此段代码时,不要将第一句Sub按钮1_单击()和最后一句EndSub这两句复制选中中间的代码将它粘贴进去就可以了.如果想判断颜色后,不想再要这些背景颜色的话,将它修改一下就可以了.如下面:Sub按钮1_单击()DimaAsRangeForEachaInSheets(sheet1).UsedRangeIfa.Interior.ColorIndex=6Thena.Interior.ColorIndex=0:a=1000:a.Font.ColorIndex=3ElseIfa.Interior.ColorIndex=

14、5Thena.Interior.ColorIndex=0:a=500:a.Font.ColorIndex=6ElseIfa.Interior.ColorIndex=3Thena.Interior.ColorIndex=0:a=100:a.Font.ColorIndex=5EndIfNextaEndSub这样只要你点击一下工作表上你拉出来的这个按钮.就会完成你的要求我这个代码还是粗糙了一点.如果哪位高手有更好的方法也可以贴出来.权当是一次VBA编写练习.如果不想要单元格的字体颜色设置.可将这些类似的删除.:a.Font.ColorIndex=3如果是单元格内一开始设置的字体颜色.但单元格内并末输

15、入数据.而想用设定的字体颜色来改变为数值的话,用下面这段代码.用上面的方法拉出一个按钮.Sub按钮2_单击()DimaAsRangeForEachaInSheets(sheet1).UsedRange在使用过的单元格内搜索Ifa.Font.ColorIndex=6Thena=1000ElseIfa.Font.ColorIndex=5Thena=500ElseIfa.Font.ColorIndex=3Thena=100EndIfNextaEndSub复制粘贴代码的方法和上面相同.还有a=100和a=1000以及a=500这个数值随你自己调整.比如调整为a=5000等应Yiqun_Zhao(蓝帆雨轩Mail:yiqun_zhao.NITTOOSgg.nitto.co.jp)的要求.我写了一个自定义的函数.以下为代码操作方法如下:按ALT+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论