推荐阅读
IF函数这样用,还不会的打屁屁
小伙伴们好啊,今天小编和大家分享一个日常工作中经常用到的函数——IF。这个函数常用于非此即彼的判断,写法是这样的:=IF(判断条件,结果为TRUE时返回啥,结果为FALSE时返回啥)1、常规判断如下图所示,需要根据B2单元格的条件,判断备胎级别。C2输入以下公式:=IF(B2=”是”,”条件还算好”,”备胎当到老”)公式的意思是:如果B2等于“是”,就返回指定的内容”条件还算好”,否则返回”备胎当到老”。2、填充内容如下图所示,要根据B列的户主关系,在C列填充该户的户主姓名。C2输入以下公式:=IF(B2=”户主”,A2,C1)公式的意思是:如果B2等于“户主”,就返回A列的姓名,否则返回公式所在单元格的上一个单元格里的内容。当公式下拉时,前面的公式结果会被后面的公式再次使用。
Excel工作簿合并的方法
Excel工作簿合并的问题是我们经常遇到的大问题,那么今天就来说一说Excel工作簿合并的问题。例如下图中,要合并四个分公司的数据到一张表里进一步汇总,有人会说 非VBA不能解。在这里我要说 OUT——借助Microsoft Query 即可完美解决,并且,还可以实现数据添加删除时的自动更新哦。下图中模拟的是四个公司的工资表,存放在不同工作簿内: 接下来就看看,如何将这个四个工作簿的数据汇总到一个工作簿内:打开汇总工作簿,依次点击 【数据】选项卡,【自其它来源】→【来自Microsoft Query】如下图:
word2010如何插入表格
在Word2010文档中,用户可以使用“插入表格”对话框插入指定行列的表格,并可以设置所插入表格的列宽,下面让小编为你带来word2010如何插入表格的方法。 word表格插入步骤如下: 第1步,打开Word2010文档窗口,切换到“插入”功能区。在“表格”分组中单击“表格”按钮,并在打开表格菜单中选择“插入表格”命令,如图1所示。 图1 选择“插入表格”命令 电脑教程 第2步,打开“插入表格”对话框,在“表格尺寸”区域分别设置表格的行数和列数。在“‘自动调整’操作”区域如果选中“固定列宽”单选框,则可以设置表格的固定列宽尺寸;如果选中“根据内容调整表格”单选框,则单元格宽度会根据输入的内容自动调整;如果选中“根据窗口调整表格”单选框,则所插入的表格将充满当前页面的宽度。选中“为新表格记忆此尺寸”复选框,则再次创建表格时将使用当前尺寸。设置完毕单击“确定”按钮即可,如图2所示。 图2 “插入表格”对话框关于word2010的相关文章推荐:1.word2010怎么插入表格2.Word2010中怎么创建自定义的表格样式3.word2010怎么插入图表
如何更改Word2013文档的默认字体和字号
在默认情况下,Word 2013使用的文字大小为五号,字体为宋体。对于用户来说,不同的文档对文字的大小和字体会有不同的需求。对于固定格式的文裆来说,。 2、打开“字体”对话框,对文字的样式进行设置,。 3、此时,Word将给出提示对话框,提示当前设置的默认字体和字号信息。。完成 选择后,单击“确定”按钮关闭对话框,当冉次启动Word时,文档的默认文字样式将变成设置的值。 更多相关阅读如何更改Excel2013工作薄的默认字体Excel2013中设置默认字体的方法Office2013中将Calibri和Calibri Light字体等默认字体更换为宋体的方法
最新发布
利用VBA读写excel文档属性
要实现限制文件的使用次数,想来应该在某个地方存储文档已用的次数,并且在文档每被使用一次这个使用次数就得发生相应的更改。如果这个思路正确的话,我们就可以利用文档属性的某个位置来实现这一想法,故有了以下两种形式:一、利用自定义属性:因为我们可以自定义数字型的属性,这一点非常符合我们的需求先用一行代码ThisWorkbook.CustomDocumentProperties.Add Name:="open_times",LinkToContent:=False,Type:=msoPropertyTypeNumber,Value:=10来定义一个名为open_times的数字型属性、初始值为10。当然也可以手动定义然后在文档的打开事件中写入:Private Sub Workbook_Open()If ThisWorkbook.CustomDocumentProperties("open_times")1 Then MsgBox"可用次数已小于1"Else ThisWorkbook.CustomDocumentProperties("open_times")=ThisWorkbook.CustomDocumentProperties("open_times")-1 End If End Sub注:1、这里我们只讨论在必须启用宏的情况下。2、这里只写了打开文档的次数,要想保存、修改等等,请作相应改动。3、限制的代码请自行修改,此处只写了MsgBox"可用次数已小于1"这么一个提示信息二、上一个方法自然、直观,但不隐蔽。再利用内置文档属性直观上不容易发现的:先用一行代码ThisWorkbook.BuiltinDocumentProperties.Item("comments")=""将备注清空,然后文档每打开一次其备注增加一个空格,再判断其长度,当长度达到我们的限制要求时,作相应操作:Private Sub Workbook_Open()ThisWorkbook.BuiltinDocumentProperties.Item("comments")=ThisWorkbook.BuiltinDocumentProperties.Item("comments")&""If Len(ThisWorkbook.BuiltinDocumentProperties.Item("comments"))10 Then MsgBox"已超过可用次数"End If End Sub注:同前,限制的代码请自行修改,此处只写了一个提示信息
怎样让Excel窗口总在最前面?
有时我们需要让Excel窗口总是显示在最前面而不被别的窗口挡住,虽然Excel并没有提供这样的功能,但可以用下面的方法:方法一:使用软件能够实现让窗口总在最前面的软件非常多,例如“前台小精灵2.0”就是这样一款绿色的免费小软件,它能让任意窗口“始终在最前面”,可以到“华军软件园”的相关页面下载(单击这里打开下载页面)。软件的使用也非常简单:先设置前台和恢复热键,然后激活需要设置的Excel窗口,按下前台热键即可。 方法二:用VBA代码在VBA中使用API函数“SetWindowPos”可以让Excel窗口总在最前面。步骤如下:1.新建一个工作簿,按Alt+F11,打开VBA编辑器。2.单击菜单“插入→模块”,在右侧的代码窗口中粘贴下列代码:Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, _ByVal hwndInsertAfter As Long, ByVal x As Long, ByVal y As Long, _ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As LongConst HWND_TOPMOST = -1Const HWND_NOTOPMOST = -2Const SWP_NOSIZE = &H1Const SWP_NOMOVE = &H2
excel自定义函数获取多个单元格中相同的字符
要在Excel中获取区域内各单元格字符串中的相同字符,可用下面的自定义函数。例如要在D1单元格获取A1:C1区域各单元格中相同的字符,如图: 按Alt+F11,打开VBA编辑器,单击菜单“插入→模块”,在代码窗口中输入自定义函数:Function GetDupChars(rRng As Range) As StringApplication.VolatileDim i As Integer, j As Integer, k As IntegerDim Str As StringStr = rRng.Item(1).TextFor i = 1 To Len(Str)k = 0For j = 2 To rRng.Cells.CountIf InStr(rRng.Item(j).Text, Mid(Str, i, 1)) Then k = k + 1NextIf k = j – 2 And InStr(GetDupChars, Mid(Str, i, 1)) = 0 _Then GetDupChars = GetDupChars & Mid(Str, i, 1)NextEnd Function然后关闭VBA编辑器,在D1单元格中输入公式即可:=GetDupChars(A1:C1)
Excel中计算阶乘(n!)的VBA代码
在Excel中可以通过FACT函数来计算非负整数n的阶乘(n!),而如果要通过VBA来计算阶乘,可以用下面的两个自定义函数:1.使用循环:Function Factorial_a(ByVal Num As Integer)If Num < 0 ThenFactorial_a = "#NUM!"ElseFactorial_a = 1For i = 1 To NumFactorial_a = Factorial_a * iNextEnd IfEnd Function2.使用递归:Function Factorial_b(ByVal Num As Integer)If Num < 0 ThenFactorial_b = "#NUM!"ElseIf Num = 0 Or Num = 1 ThenFactorial_b = 1ElseFactorial_b = Num * Factorial_b(Num – 1)End IfEnd Function
如何恢复excel VBA编辑器的默认窗口布局
在使用VBA编辑器时,如果无意间弄乱了窗口布局,使各窗口不在其默认位置,使用起来有些不便。要恢复默认的VBA编辑器窗口布局,可以用下面的两种方法:方法一:手工调整1.在VBA编辑器中,单击菜单“工具→选项”,在弹出的“选项”对话框中选择“可连接的”选项卡,勾选不在默认位置的窗口选项,如“工程资源管理器”、“属性窗口”等。单击“确定”按钮。 2.假如要将“工程窗口”调整到默认的左侧位置,用鼠标左键拖动“工程”窗口的标题栏,移动到VBA编辑器的左侧边界,这时“工程”窗口的边缘会变成灰色细线,松开鼠标左键,“工程”窗口就会被定位到VBA编辑器的左侧。 3.用同样的方法将其他窗口定位到其默认位置。如果定位错误可以拖动该窗口标题栏将其拖回到VBA编辑器*(或双击标题栏)再重新定位。如果在第一步“可连接的”选项卡中某个窗口没有被勾选,当拖动该窗口到VBA编辑器边界时,就不会出现灰色细线,因而也无法用这个方法来定位该窗口。方法二:修改注册表用这个方法可以恢复默认的VBA编辑器窗口布局,修改前清备份注册表。1.关闭VBA编辑器和Excel。
利用Excel VBA快速汇总会议回执实例教程
某单位组织一次大型会议,要求各参会单位填写好会议回执后传回,再进行汇总。回执是用Excel制作的,有一个统一的标题行。由于参会单位和参会人员众多,返回的Excel文件很多,手工逐一汇总比较麻烦。这时用VBA可快速解决问题,示例文件下载 示例文件 如图所示,会议回执在工作簿的第一个工作表中,参会人员信息从第4行开始填写,共5列,各个单位的参会人员可能不同。汇总工作簿与回执工作簿具有相同的行标题。 将所有收到的回执和汇总工作簿放到某个文件夹中,注意该文件夹内不能包含其他非回执Excel文件,打开汇总工作簿并选择汇总工作表,按Alt+F11,在VBA编辑器中单击菜单“插入→模块”,将下列代码粘贴到代码窗口内执行,即可将所有回执工作簿第一个工作表中的人员信息自动复制到汇总工作簿的第一个工作表。Sub 回执汇总()Dim ThePath As String, TheFile As StringDim Wbk As WorkbookOn Error Resume NextApplication.ScreenUpdating = FalseRange("A4:F65536").ClearContentsThePath = ThisWorkbook.Path & "\"TheFile = Dir(ThePath & "*.xls")Do While TheFile <> ""If TheFile <> ThisWorkbook.Name ThenSet Wbk = GetObject(ThePath & TheFile)With Wbk.Worksheets(1)‘复制有内容的分表数据到汇总表If .[a65536].End(xlUp).Row > 3 Then.Range("A4:E" & .[a65536].End(xlUp).Row).Copy ThisWorkbook.Worksheets(1).[a65536].End(xlUp).Offset(1)End IfEnd WithWbk.Close FalseEnd If‘当前文件夹内的下一个工作簿TheFile = DirLoopApplication.ScreenUpdating = TrueEnd Sub
excel关闭工作簿时提醒某区域不能为空解决方案
有时需要把设计好的Excel表格交给许多用户填写,如果表格中有一些单元格为必填项,当一些用户未填写这些单元格时,逐一检查这些表格显得有些繁琐。通常的方法是通知用户或通过设置条件格式、设置批注等方式进行提醒,但难免有的用户还是忘记填写。在这种情况下可以用通过下面的宏代码,当用户在关闭工作簿时进行提醒,如果指定的单元格为空则不能关闭工作簿。假如工作簿中“Sheet1”表的数据区域中C列为必填区域,步骤如下:1.按Alt+F11打开VBA编辑器,在“工程”窗口中双击“ThisWorkbook”。2.在代码窗口中输入下列代码:Private Sub Workbook_BeforeClose(Cancel As Boolean)If ActiveWorkbook.Name = ThisWorkbook.Name And ActiveSheet.Name = "Sheet1" _And ActiveCell.Row = 1 And ActiveCell.Column = 1 Then EndIf ThisWorkbook.Saved = True ThenFor i = 2 To Sheet1.Cells(65536, 1).End(xlUp).RowIf Sheet1.Cells(i, 3) = "" ThenMsgBox ThisWorkbook.Name & ": " & Sheet1.Name & "表C列有未填数据!", , "提示"Sheet1.ActivateCells(i, 3).SelectCancel = TrueEndEnd IfNextElseMsgBox "数据未保存,请保存工作簿!"Cancel = TrueEnd IfEnd Sub当Sheet1表数据区域中C列有未填数据时,只有在下面的情况下才能正常关闭工作簿,否则Excel会弹出一个对话框提醒用户并跳转到指定的单元格。一、C列的数据区域(例如本文结尾处示例文件中的C2:C10)无未填数据。二、选择“Sheet1”表的A1单元格后关闭工作簿。三、删除VBA代码后关闭工作簿。当需要把表格交给其他用户填写时,可以在保留C列为空的情况下,通过方法二和方法三正常关闭工作簿。对于其他用户,通常不会采用这两种方法关闭工作簿,因而可以起到提醒用户的作用。
Excel工作表批量重命名的方法
本文介绍Excel工作表单一文件和批量重命名文件的方法。 excel工作表重命名的方法有下面几种: 第一,单击菜单“格式”——“工作表”——“重命名”。 第二,单击工作表标签,右键选择“重命名”。 第三,双击工作表标签,直接对工作表重命名。 上面三种方法,都可以对Excel工作表重命名,不过都是一个一个工作表分别重命名。 如何做到excel工作表批量重命名呢?有下面两种方法,供参考: 第一种:利用Excel工作表现有单元格内容进行批量重命名。 例如:Excel工作表默认标签为sheet1,sheet2,sheet3,sheet4。如何快速重命名为1月销售表,2月销售表,3月销售表,4月销售表。 sheet1工作表A1:A4单元格内容是1月销售表,2月销售表,3月销售表,4月销售表。 方法:按下ALT+F11,打开VBE窗口,单击插入——模块,复制下面代码,并运行。Sub 按A列数据修改表名称()On Error Resume Next ‘忽略错误继续执行VBA代码,避免出现错误消息Application.Calculation = xlCalculationManual ‘手动重算Dim i%For i = 1 To Sheets.CountSheets(i).Name = Cells(i, 1).TextNextOn Error GoTo 0 ‘恢复正常的错误提示Application.Calculation = xlCalculationAutomatic ‘自动重算End Sub 第二种:直接批量重命名Excel工作表。Sub 新工作表名()Dim i As LongApplication.ScreenUpdating = FalseFor i = 1 To Worksheets.CountWorksheets(i).Name = "报表" & iNext iApplication.ScreenUpdating = TrueEnd Sub 上面5种方法,想必能帮你解决Excel工作表批量重命名的问题。
Excel VBA中debug.print解释和使用介绍
VBA 中Debug.Print 是什么意思? debug.print的使用方法是怎样的呢? VBA 中Debug.Print 的作用是将代码执行结果显示在“立即窗口”中。比如,我们按ALT+F11组合键,打开VBE窗口,插入——模块,输入下面的代码:Sub 测试()Debug.Print "ab"End Sub 将光标定位域代码中任意位置,按F5键执行代码,在立即窗口就会显示代码执行结果。 下图就是执行Debug.Print "ab"的效果。 又比如我们插入——模块,输入下面的代码:Sub 立即窗口显示结果() Debug.Print 300 * 2 + 50End Sub 同样的,F5键执行Debug.Print 300 * 2 + 50这句代码,在立即窗口就会显示出650。
excel VBA快速取消工作簿中各工作表的自动筛选
当工作簿中的工作表数量较多时,要快速取消各个工作表中的自动筛选可以下面的VBA代码。 1.按Alt+F11,打开VBA编辑器。2.在代码窗口中输入下列代码Sub RemoveAllAutoFilter()Dim sht As WorksheetFor Each sht In ActiveWorkbook.WorksheetsIf sht.AutoFilterMode = True Then sht.AutoFilterMode = FalseNextEnd Sub3.关闭VBA编辑器,按快捷键Alt+F8,打开“宏”对话框,选择包含“RemoveAllAutoFilter”的宏名,并单击“执行”按钮。