版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
百度文库-让每个人平等地提升自我!EXCEL中单元格的颜色统计其实,这个问题要用到一个特别的函数:get.cell解决这个问题的思路是,你首先得让系统知道你每种颜色的代码是多少。得到这个代码就用到这个函数。设你要统计的单元格在A歹ij,B列为空列,操作如下:1,点插入,名称,定义,弹出的窗口第一行名称名内写入一个自定义的名称名字,可以是中文也可以是英文,比如XX,最下边一行的引用位置一行内填入:=get.cell(63.A1)确定。2,在B1中输入=XX,光标指向B1单元格右下角的小黑点,光标变成小黑实心十字时,双击左键。完成填充。这样操作以后,在B列中会出现各个单元格中底色的代码。3,用countif()函数对你要统计的单元进行统计,如:=countif($B$1:$B$100,"5")这个统计公式意思是统计B1至B100中颜色代码是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歹U,就可以完成全部操作了注意:1、GET.CELL(24,SHEET1!A1)其中24代表字体颜色,换成38代表背景颜色用EXCEL来根据单元格的颜色来计数和求和步骤1:打开你的excel;步骤2:按Alt+F11键步骤3:VisualBasic编辑器菜单栏:插入一模块步骤4:粘贴下面这段函数FunctionCountcolor(colAsRange,countrangeAsRange)DimicellAsRangeApplication.VolatileForEachicellIncountrangeIficell.Interior.ColorIndex=col.Interior.ColorIndexThenCountcolor=Countcolor+1EndIfNexticell
百度文库-让每个人平等地提升自我!EndFunction步骤5:保存步骤6:粘贴下面这段函数FunctionSumcolor(colAsRange,sumrangeAsRange)DimicellAsRangeApplication.VolatileForEachicellInsumrangeIficell.Interior.ColorIndex=col.Interior.ColorIndexThenSumcolor=Application.Sum(icell)+SumcolorEndIfNexticellEndFunction步骤7:保存并关闭VisualBasic编辑器。使用函数countcolor统计单元格数量,其格式为:countc010r(所要统计的颜色所在单元格,统计的区域) 注:括号内为参数,下同。使用函数sumcolor来求和(所要统计的颜色所在单元格,统计的区域)〃/若是字体颜色FunctionSumfontcolor(colAsRange,sumrangeAsRange)DimicellAsRangeApplication.VolatileForEachicellInsumrangeIficell.Font.ColorIndex=col.Font.ColorIndexThenSumfontcolor=Application.Sum(icell)+SumfontcolorEndIfNexticellEndFunction建立Excel对象不显示警不显示界不显示警不显示界告objExcelApp.Application.Visible=false面新建Excel文件
objExcelApp.WorkBooks.add百度文库-让每个人平等地提升自我!setobjExcelBook=objExcelApp.ActiveWorkBooksetobjExcelSheets=objExcelBook.WorksheetssetobjExcelSheet= objExcelBook.Sheets⑴读取已有Excel文件strAddr=Server.MapPath(".")objExcelApp.WorkBooks.Open(strAddr&"\Templet\Table.xls")setobjExcelBook=objExcelApp.ActiveWorkBooksetsetobjExcelApp.WorkBooks.add百度文库-让每个人平等地提升自我!setobjExcelBook=objExcelApp.ActiveWorkBooksetobjExcelSheets=objExcelBook.WorksheetssetobjExcelSheet= objExcelBook.Sheets⑴读取已有Excel文件strAddr=Server.MapPath(".")objExcelApp.WorkBooks.Open(strAddr&"\Templet\Table.xls")setobjExcelBook=objExcelApp.ActiveWorkBooksetsetobjExcelSheetsobjExcelSheet=objExcelBook.Worksheets=objExcelBook.Sheets(1)另存Excel文件objExcelBook.SaveAsobjExcelBook.Save错。)objExcelApp.QuitsetobjExcelAppstrAddr&"\Temp\Table.xls"保存Excel文件(笔者测试时保存成功,页面报三、1、退出Excel操作一定要退出Nothing操作Excel生成数据表在一个范围内插入数据"87", "5", "9", "7", "45objExcelSheet.Range("B3:k3").Value= Array("67","87", "5", "9", "7", "45"45", "54", "54", "10")在一个单元格内插入数据objExcelSheet.Cells(3,1).Value="InternetExplorer"选中一个范围单元格左边画粗线条单元格右边画粗线条单元格上边画粗线条单元格下边画粗线条单元格设定背景色合并单元格插入行11、11、四、 操作Excel生成Chart图创建Chart图objExcelApp.Charts.Add设定Chart图种类objExcelApp.ActiveChart.ChartType= 97注:二维折线图,4;二维饼图,5;二维柱形图,51设定Chart图标题objExcelApp.ActiveChart.HasTitle=TrueobjExcelApp.ActiveChart.ChartTitle.Text="AtestChart"百度文库-让每个人平等地提升自我!4、4、objExcelApp.ActiveChart.SetSourceDataobjExcelSheet.Range("A1:k5"),1直接设定图形数据(推荐)objExcelApp.ActiveChart.SeriesCollection.NewSeriesobjExcelApp.ActiveChart.SeriesCollection(1).Name= "=""333"""objExcelApp.ActiveChart.SeriesCollection(1).Values= "={1,4,5,6,2}"绑定Chart图objExcelApp.ActiveChart.Location1显示数据表objExcelApp.ActiveChart.HasDataTable=True显示图例objExcelApp.ActiveChart.DataTable.ShowLegendKey=True我假设你的工作表已经有很多设置好背景颜色的单元格.如你上面讲的红.黄.蓝"视图","工具栏","窗体"打上勾.在"窗体"工具条上点击"按钮"在工作表上拉出一个按钮.在弹出来的"指定宏"对话框中点"新建"这时会出现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.ColorIndex=5EndIfNextaEndSub '这也是自动生出来的.请注意:复制此段代码时,不要将第一句Sub 按钮1_单击。和最后一句End Sub 这两句复制.选中中间的代码将它粘贴进去就可以了.如果想判断颜色后,不想再要这些背景颜色的话,将它修改一下就可以了.如下面:Sub按钮1_单击()DimaAsRangeForEachaInSheets("sheet1").UsedRangeIfa.Interior.ColorIndex= 6 Thena.Interior.ColorIndex = 0: a = 1000:a.Font.ColorIndex=3ElseIfa.Interior.ColorIndex = 5Thena.Interior.ColorIndex = 0: a = 500:a.Font.ColorIndex = 6ElseIfa.Interior.ColorIndex = 3Then百度文库-让每个人平等地提升自我!a.Interior.ColorIndex=0:a.Interior.ColorIndex=0:a100:a.Font.ColorIndex=5EndIfNextaEndSub这样只要你点击一下工作表上你拉出来的这个按钮.就会完成你的要求我这个代码还是粗糙了一点.如果哪位高手有更好的方法也可以贴出来.权当是一次VBA编写练习.如果不想要单元格的字体颜色设置.可将这些类似的删除.":a.Font.ColorIndex=3"如果是单元格内一开始设置的字体颜色.但单元格内并末输入数据.而想用设定的字体颜色来改变为数值的话,用下面这段代码.用上面的方法拉出一个按钮.Sub按钮2_单击()DimaAsRangeForEachaInSheets("sheet1").UsedRange '在使用过的单元格内搜索Ifa.Font.ColorIndex=6ThenTOC\o"1-5"\h\za = 1000ElseIfa.Font.ColorIndex=5Thena = 500ElseIfa.Font.ColorIndex=3Thena = 100EndIfNextaEndSub复制粘贴代码的方法和上面相同.还有a=100和a= 1000以及a=500这个数值随你自己调整.比如调整为 a=5000等应Yiqun_Zhao(蓝帆■雨轩Mail:yiqun_zhao.NITTOOS@gg.nitto.co.jp)的要求.我写了一个自定义的函数.以下为代码操作方法如下:按ALT+F11打开VBE.点击"插入","模块".在右边的界面将下面的代码粘贴过去即可Priv
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店厨房专项考试题及答案
- 高考戏剧专项练习题及答案
- 2026年供应链采购专员考试题(含答案)
- 2026年妇科常见急症处置考试试卷试题及答案
- 2026年道路客运企业安全员考试试卷试题及答案
- 2026年县级医院临床医师岗招聘笔试试题及答案
- 2026年病案首页填写质量控制指南考试试卷试题及答案
- 2026年外贸业务员考试题库(含答案)
- 2026年糖尿病酮症酸中毒救治试题及答案
- 2026年输血科技术人员试题(附答案)
- 2026年就业援疆浙江省事业单位公开招聘阿克苏籍少数民族高校毕业生(7人)考试参考题库及答案详解
- 合肥供水集团招聘考试真题及答案详解
- 2026年天津专升本(计算机基础)真题试卷(含答案)
- 2026年外研版五年级英语上册单词表衡水体描红英语字帖(三年级起点)
- 24J113-1 内隔墙-轻质条板(一)
- GB/T 26773-2011智能运输系统车道偏离报警系统性能要求与检测方法
- 林业基础知识-1林业基础知识试题林业专业基础知识林业知识林业专业知识林业相关知识
- 转化医学课件
- 农村幼儿园简介六篇
- 水生生物学教案
- s3-11桥头路基处理工程数量表
评论
0/150
提交评论