当前位置:主页 > Office办公 > Excel专区

最新发布

Excel VBA使用vlookup出现1004错误解决方法
Excel VBA使用vlookup出现1004错误解决方法

Vlookup 在Excel中查找大量数据时效率是很高的,在Excel中广泛的被使用着。vlookup 查找时如找到不到匹配项会返回#N/A 的错误,这点在工作表中是很友好的,但是在VBA中使用vlookup时不会返回这个错误值,而且是抛出1004错误,所以在使用是要标记它。示例代码:Function check_code(code) As Boolean If code <> Empty Then code = code & "" On Error Resume Next u = WorksheetFunction.VLookup(code, Sheet3.Range("$A$2:$E$" & Sheet3.UsedRange.Rows.Count), 2, 0) If Err.Number <> 0 Then check_code = False Exit Function End If End If check_code = True End Function On Error Resume Next 表示如果下面的代码出现错误则执行错误行的下行代码。

223 次浏览
Excel VBA中的Date类型的匹配问题
Excel VBA中的Date类型的匹配问题

VBA的Date类型比较奇怪。测试:1. 新建一个空白的Excel文档,在A1单元格输入2009-11-12。2. 打开VBA编辑器,插入模块,增加下面这个宏Sub test() MsgBox #11/12/2009# = Range("A1").Value ' true MsgBox VarType(#11/12/2009#) = VarType(Range("A1").Value) ' true MsgBox Application.WorksheetFunction.Match(#11/12/2009#, Range("A1"), 0) ' errorEnd Sub 3. 按F5运行test宏,可以看到Range("A1")的类型和值都和#11/12/2009#一致(通过对range("A1")的监视也可以看出这一点),都是Date类型,但是如果用match去匹配的话,却出现错误。解决方法,在匹配中将要匹配的Date类型的数据强制转换成Long类型去匹配。MsgBox Application.WorksheetFunction.Match(CLng(#11/12/2009#), Range("A1"), 0) 对其原理还是不清楚,不知道有没有看到的高手来做一下解释。

137 次浏览
Excel批量导入图片的方法实例教程
Excel批量导入图片的方法实例教程

excel批量导入图片一般是使用VBA代码实现,因为excel功能的局限性,插入——图片,尽管可以批量导入图片,但不能自动排版。  文章总结几个excel批量导入图片相关的案例,分享给大家。excel批量导入图片案例一:  如下图所示:A列是姓名,D列需要批量导入A列姓名对应的照片,当单击“图片导入”按钮,即可批量导入图片。  下面的代码实现的功能是:批量导入图片,然后按照原比例缩放以填充单元格,如果单元格高宽改变,再次单击“图片导入”按钮即可。  说明:对应的图片命名需要和姓名一致,图片文件夹和excel源文件放在同一路径之下。  下面是具体的代码:Sub 批量导入图片()‘将图片导入。‘图片按照原比例存储,按照原比例存储On Error Resume NextDim R&Dim Pic As Object‘先删除所有可能存在的图片For Each Pic In Sheet1.ShapesIf Pic.Name <> Sheet1.Shapes("按钮 97").Name ThenPic.DeleteEnd IfNextFor R = 2 To Range("A65536").End(xlUp).Row‘插入图片Set Pic = Sheet1.Pictures.Insert(ThisWorkbook.Path & "\pic\" & Cells(R, 1) & ".jpg")‘锁定高宽比Pic.ShapeRange.LockAspectRatio = True‘看高宽比。如果图片高宽比高,那么调整到单元格高度,否则调整到单元格宽度‘我们看到的右键格式菜单里的东西都是针对ShapeRange而言的,所以要用ShapeRange来设定With Pic.ShapeRange‘如果图片高宽比比单元格大,说明图片太高,只需调整图片高度If .Height / .Width > Cells(R, 4).Height / Cells(R, 4).Width Then.Height = Cells(R, 4).Height‘调整位置.Top = Cells(R, 4).Top.Left = Cells(R, 4).Left + (Cells(R, 4).Width – .Width) / 2‘如果图片高宽比比单元格小,说明图片太宽,只需调整图片宽度Else.Width = Cells(R, 4).Width‘调整位置.Left = Cells(R, 4).Left.Top = Cells(R, 4).Top + (Cells(R, 4).Height – .Height) / 2End IfEnd WithNext REnd Sub  我们在excel对图片进行排版时,可以选中图片,勾选对齐网格,以及在插入图片或控件时,按住Alt键并拖动对象的边框,可以快速调整尺寸适应单元格大小。

242 次浏览
Excel VBA中让你意想不到的陷阱
Excel VBA中让你意想不到的陷阱

VBA代码由于简单实用,大家都很喜欢,但有些代码怎么看都没有问题,调试时却总是出错?究竟是为什么呢,其实代码本身没有错,在正常情况下都没有问题,错在运行环境本身出了问题,下面举例予以说明:1、微软在定义属性时,进行了长度限制比如:区域的Address属性,虽然是字符串,却是定长字符串,不能超过256个字符。如果用它来获取单元格地址,只能获取前256个字符。(一般情况下不会出问题,但如果单元格区域是很零散的单元格区域,就可能出错)2、VBA中属性解释与实际不符比如:Cells.SpecialCells(xlCellTypeLastCell),微软帮助中:用于获取“已用区域中的最后一个单元格”,但实际上是获取“已用区域中的最后一个可见单元格”,如果已用区域最后一个单元格正好被隐藏,就与该属性的定义产生偏差,导致代码达不到预期效果。3、兼容32位环境的限制在VB环境中,长整型变量是long,最大支持 2,147,483,647,约21亿,似乎很大了,在excel2000/2003没有问题,但在excel2007及以上版本中就可能出问题,如果你执行这一句:MsgBox Cells.Count,肯定会出错,因为现在支持1048576行*16384列,已经21亿,超过了长整型的限制。而且Rows.count*Columns.count也会出错,其原因也是一样,虽然单个都没有超上限,但结果超长整型上限也不行。4、VBA代码在VSTO中,由于环境变化,也会出现异常比如:ActiveSheet.HPageBreaks.add,在VBA、COM中都正常,在VSTO中会导致下一行内容丢失。因此,在编写代码时预先考虑到以上等情况,可以减少你调试的难度,避免走弯路。

120 次浏览
Excel删除数字保留文本的两种方法
Excel删除数字保留文本的两种方法

本文介绍excel删除数字保留文本的两种方法,通过使用VBA代码和word替换法来删除数字。excel删除数字方法一:  Excel工作表中删除数字只保留文本,是一个比较常见的例子。  如下图所示,A列的源数据有一些数字,而且这些数字在单元格中的位置是无序不固定的。如何删除数字,达到的效果如C列所示。   在excel中数字与文字共存的情况下,如果有规律,可以使用公式来分离字母、汉字、数字;如果没有规律,比较理想的还是是用VBA来解决。  下面是具体的excel删除数字操作步骤:  按ALT+F11,打开VBE编辑器,单击插入——模块,复制下面的代码,然后按F5键运行,excel会自动将A列所有的内容删除数字之后的结果提取放在C列。Sub excel删除数字()Dim reg As Object ‘定义reg为一个对象Dim arr ‘定义一个动态数组Dim i As Long, j As Long ‘分别定义i,j为长整型i = Range("A65536").End(xlUp).Row ‘把A列非空的最后行数赋予给iColumns("C").ClearContents ‘清空C列arr = Range("A1:A" & i) ‘把A列的数据赋予给数组arrSet reg = CreateObject("VBscript.RegExp") ‘调用正则表达式With reg ‘定义表达式.Global = True ‘匹配所有搜索项.ignorecase = True ‘不区分大小写.Pattern = "[0-9]" ‘数字的表达式End WithFor j = 1 To i ‘循环该区域Range("C" & j) = reg.Replace(arr(j, 1), "") ‘进行根据模板替换字符串为空值NextEnd Subexcel删除数字方法二:WORD替换法

372 次浏览
Excel中进行绘图区格式的设置方法
Excel中进行绘图区格式的设置方法

绘图区是指以坐标轴为界并包含所有数据系列的区域。对绘图区格式的设置,主要是指为绘图区添加填充颜色、边框颜色和应用样式。今天,小编就教大家在Excel中进行绘图区格式的设置方法。  Excel中进行绘图区格式的设置步骤如下:  单击“设置所选内容格式”按钮,  选择图片,切换到“图表工具-格式”选项卡,在“当前所选内容”组中的“图表元素”下拉列表中选择“绘图区”选项,然后单击“设置所选内容格式”按钮。  设置绘图区填充颜色,  弹出“设置绘图区格式”对话框,选择“填充”选项,在“填充”选项区域中选择“纯色填充”单选按钮。在“填充颜色”选项组中单击“颜色”按钮,在弹出的下拉列表中,单击“白色,背景1,深色15%”图标。  显示效果,  单击“关闭”按钮后返回工作表,即可看到绘图区的背景已被填充了颜色。Excel中进行绘图区格式的设置

153 次浏览
Excel中进行制作柏拉图的操作方法
Excel中进行制作柏拉图的操作方法

日常工作中,经常会使用柏拉图,尤其是对做技术和品质的人而言,今天,小编就教大家在Excel中进行制作柏拉图的操作方法。  Excel中进行制作柏拉图的操作步骤:  输入数据如下。  选择A1-A7 C1-C7 数据:点击“插入”–“图标”–“柱形图”,选择第一个“二维柱形图”,如图所示。  右击图像,选择“设置数据系列格式”,将“分类间距”减小为0,将“边框颜色”改为"实线",在“布局”中选择“网格线”–“主要横网格线”–“无”,点击“坐标轴”–“主要纵坐标轴”–“其他主要纵坐标轴选项”,将“最大值设”为30,将“主要刻度线类型”设为无,点击图形,右击“选择数据”–“添加”,将DI-D7的数据输入,点击D1-D7生成的表格,将其改成折线图,并点击右键“设置数据系列格式”,选择“次坐标轴”,右击次坐标轴,将次坐标的最大值设置为1,和主坐标轴的30相对应,这样就完成了一个柏拉图。  当然,这个柏拉图式一个比较粗略的,具体的细化工作还要自己多多摸索。Excel中进行制作柏拉图的操作

139 次浏览
Excel中2010版进行设置保存图片原像素的操作方法
Excel中2010版进行设置保存图片原像素的操作方法

是不是在excel中插入图片后,因图片太多就把图片缩小保存后,再打开将图片放大就看不清了呢?今天,小编就教大家在Excel中2010版进行设置保存图片原像素的操作方法。  Excel中2010版进行设置保存图片原像素的操作步骤:  选择插图一张图片。  图片插入后暂时不要将图片拖动或放大缩小,选中图片,选择格式→压缩图片,弹出的压缩图片窗口,然后将压缩选项的两个选项取消勾选,目标输出为电子邮件格式,然后确定。  之后就可以将图拖到你想要的大小保存,关掉excel,再打开,把图片放大,像素就会保持原图不变了。Excel中2010版进行设置保存图片原像素的操作

148 次浏览
Excel中进行根据日期来显示星期的操作技巧
Excel中进行根据日期来显示星期的操作技巧

在工作中有时需要根据一个日期来确定对应的星期,在EXCEL中有好几种方法可以实现,这次介绍一个函数方法来实现.有一个TEXT函数,可以把一个数据转换成指定的文本格式。今天,小编就教大家在Excel中进行根据日期来显示星期的操作技巧。  Excel中进行根据日期来显示星期的操作步骤:  设置A1单元格的格式为日期格式.  在A1中按鼠标右键,选"单元格格式".  弹出格式窗口,在其中的"数字"选项卡中找到"日期",然后在右边的"类型"中按图设置  确定后退出窗口.  在A1单元格输入一个任意日期,比如2012-5-13  在A2单元格输入公式=TEXT(A1,"aaaa")  就会得到这个日期的星期为"星期日",如果只想显示最后的"日",还要通过第五步操作  5在B2单元格中输入公式=RIGHT(A2,1)

117 次浏览
Excel中进行修改新工作表默认视图的操作方法
Excel中进行修改新工作表默认视图的操作方法

Excel2010中的默认新建的工作表视图为“普通视图”。如果我们希望将其更改为其他视图应该怎么做呢?今天,小编就教大家在Excel中进行修改新工作表默认视图的操作方法。  Excel中进行修改新工作表默认视图的操作步骤  一、在电脑桌面的Excel2010工作簿程序图标上双击鼠标左键,将其打开运行。如图所示;  二、在打开的Excel2010工作薄窗口中,点击左上角的“文件”命令选项。如图所示;  三、在弹出的“文件”命令选项对话框中,选择并点击“选项”命令选项。如图所示;  四、点击“选项”命令选项后,这个时候会弹出工作簿的“Excel选项”对话框。如图所示;  五、在“Excel 选项”对话框中,选择左侧窗格的“常规”选项并点击它。如图所示;  六、在“常规”选项的右侧窗格中,,找到“新建工作簿时”组中的“新工作表的默认视图”选项,并将其选择为“页面视图”,然后再点击“确定”按钮。如图所示;  七、再次打开Excel2010程序,新建工作表即以“页面视图”的方式展示出来。如图所示;

110 次浏览
共计27343条记录 上一页 1.. 298 299 300 301 302 303 304 ..2735 下一页