1. vba提取指定单元格数据
1、LEFT函数:
用法:LEFT(要提取字符所在单元格,从左侧开始提取的个数)
例如:=LEFT(A1,2) 意思是从A1单元格提取前两个字符。
2、RIGHT函数:
用法:RIGHT(要提取字符所在单元格,从右侧开始提取的个数)
例如:=RIGHT(A1,2) 意思是从A1单元格提取最后两个字符。
3、MID函数:
用法:MID(要提取字符所在单元格,开始位置,提取个数)
例如:=MID(A1,2,2) 意思是从A1单元格提的第二个单元格开始,提取两个字符,也就提取A1单元格第2个和第3个字符。
注:用MID函数,也可以替代前两个函数,比如:=MID(A1,1,2)与=LEFT(A1,2)的结果是一样的,再比如:=MID(A1,LEN(A1)-2+1,2)与=RIGHT(A1,2)的结果是一样的只是这里用到LEN函数,其作用是取得单元格字符串的长度。
4、提取后的字符合并:
字符合并要用到连接符号:&
比如:=LEFT(A1,2)&RIGHT(A1,2) 意思是把A1单元格的前两个和最后两个字符,提取出来组成一个新的字符。
下面给出两种方法:
方法1. 如果会用vba的话可以考虑自定义函数:
按alt+f11唤出vbe编辑窗口,插入-模块,将下方代码贴入:
Public Function Zstr(str As String, tj As String) With CreateObject("Vbscript.Regexp") .Pattern = "^(\d+).*" & tj & ".*" .Global = True .MultiLine = True .ignorecase = False If .test(str) Then Set mh = .Execute(str) Zstr = mh(0).submatches(0) Else Zstr = CVErr(xlErrNA) End If End WithEnd Function回到工作表中
在c1里输入如下公式:=zstr(A1,B1)
方法2. 公式(略长):
=--LEFT(TRIM(MID(SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200)),MAX(1,FIND(B1,SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200)))-200),FIND(B1,SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200))))),FIND("=",TRIM(MID(SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200)),MAX(1,FIND(B1,SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200)))-200),FIND(B1,SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200))))))-1)
假设是A列
i=range("a65536").end(xlup).row()
msgbox range("A" & i).value
msgbox range("A" & i-1).value
如果ID值都是4位数的话,那么用以下代码就可以了:
Sub www() Dim y% For y = 1 To Cells(1, Columns.Count).End(xlToLeft).Column Cells(2, y) = Right(Cells(1, y), 4) Next yEnd Sub
excel提取单元格内某字符后面一位的数据全部提取出来 用vba实现 - : C1=IF(ISERROR(FIND("张三",A1)),"",MID(A1,FIND("张三",A1)+2,1))&IF(OR(ISERROR(FIND("张三",A1)),ISERROR(FIND("张三",B1))),"","+")&IF(ISERROR(FIND("张三",B1)),"",MID(B1,FIND("张三",B1)+2,1)) 然后下拉 这个可以实现提取A和B列中第一个张三后面的数字
EXCEL怎么提取单元格内某字符后面的所有文字 - : =MID(A1,FIND("房",A1)+1,LEN(A1)-FIND("房",A1))
EXCEL中如何提取单元格中最后一个字符 - : 方案a:复制到记事本中,再从记事本复制到word中.设置段落格式为:右对齐.将插入点置于最后一个字符右侧,按住alt不放,压住鼠标左键,选中要删除的区域,删除.然后复制回excel 方案b:假设数据在a列,则到一个空列,输入=left(a1,len(a1)-1) 向下填充公式,就得到你要的结果了.
excel怎样获取单元格中特定字符前面或者后面的内容 - : 方法一:用函数=MID(A1,FIND("|",A1)+1,99),参数你根据自己的事情情况调整... 方法二:用查找替换功能.先把这列复制两列,然后以列为单位去查找,查找*|,替换,则可得到|后面的字符,查找|*替换,则可得到|前面的字符
EXCEL怎么提取单元格内某字符后面的所有文字: 假设 ...房顶上...这个在a1单元格,现在在a2单元格提取, 在a2单元格输入下列公式: =right(a1,len(a1)-find("房",a1)+1)
在EXCEL表格里,怎么提取某一单元格中的一部分文字 - : 用mid(),比如:从单元格a1(内容为“在excel表格里”)提取“excel”,可以用公式:=mid(a1,2,5),表示在a1中,以第2个字符开始的5个字符组成的字符串.
excel中提取单元格内指定最后一个符号前的内容 - : 假设字符数不超过100个,用:=LEFT(A1,LOOKUP(1,0/(MID(A1,ROW($1:$100),1)="#"),ROW($1:$100))-1)
excel中如何提取某个字符前面、后面的字符,长度不一、每个单元格都有这个字符: 前面的,=LEFT(A1,FIND(”@”,A1)-1),@就是那个字符.后面的,=MID(A1,FIND(”@”,A1)+1,99)
EXCEL 单元格中有两个字符,如何提取其中一个字符后面的内容: 如果是提取最后的数字,可用下面公式:=LOOKUP(9^9,--RIGHT(A1,ROW(1:99)))也可用下面公式:=--MID(A1,FIND("x",SUBSTITUTE(A1,"x","",1))+2,99)数字99可以换成适当的数,如12.如果提取文本,可用第二个公式,将前面的“--”去掉.
如何用最简单的公式截取Excel单元格内最后一个空字符后面的所有信息. - : =TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",100),LEN(A1)-LEN(SUBSTITUTE(A1," ",))),100))
觉得有用点个赞吧
2. vba提取excel单元格数据
以下从一个单元格字符串中提取出连续出现的数字,并且空格分割,后面只需分列以下就提取到不同单元格了。函数代码如下:
Function REFIND(str, re) Dim Reg As New RegExp With Reg .Global = True .Pattern = re Set matchs = .Execute(str) For Each Match In matchs y = y & " " & Match Next End With 'MsgBox y REFIND = yEnd Function注意:需要是office的VBA环境,sheet名字右键查看代码或者开发工具进入VBA界面。在插入中插入模块,编写代码,保存;然后就可以在表格中使用了。如果出现用户自定义类型未定义,那是因为RegExp类型需要从工具栏中引用添加 MicrosoftVBScriptRegularExpressions5.5
3. vba怎么取单元格的值
在vba中要选择单元格的数字,我们可以使用正则表达式来实现。
我们在正则表达式中匹配所有的数字就可以获得单元格中的数字了。
4. vba遍历单元格并提取
编程如下:Subaa()Dimi,jj=UsedRange.Rows.CountFori=1ToUsedRange.Rows.CountIfCells(i,1)="某个记录"ThenRange(Cells(i,1),Cells(j,1)).EntireRow.SelectExitSubEndIfNextEndSub
5. vba中如何提取指定内容
一:利用Word里面的“索引”功能。
1、选中需要提取的文字,执行菜单命令“插入-引用-索引和目录”;
2、在“索引”选项页里面选择单击按钮“标记索引项”;
3、指定“选项”为“当前页”,根据需要可以指定提取之后显示的页码格式为加粗或者倾斜,单击“标记”;
4、此时标记索引项窗口并不会关闭,而且你还能在文档中找到并选中下一个需要提取的文字,重复步骤3;
5、如果没有其它需要提取的文字了,单击“关闭”;
6、在需要插入索引表的地方,执行菜单命令“插入-引用-索引和目录”,根据需要设置索引表的格式(比如分栏、对齐、缩进等风格),然后单击“确定”。
这样所有标记过索引的文字以及它们所在的页码就都提取出来了。
如果需要提取的文字有很多,那么或许也可以用VBA宏来自动标记索引(即相当于自动完成上面的1-5步骤)。但是前提是这些文字必须都有非常特定的格式,即可以保证当前文档中凡是具有这个格式的文本,都是需要提取索引的文本。
二:下列VBA代码可以自动为当前文档中的所有红色文字建立索引条目,并在当前光标位置处插入带文字条目以及对应页码的索引表:
Option Explicit
Sub AutoMarkIndexForAllRedText()
Dim oSaveSelection As Range
Set oSaveSelection = Selection.Range
Selection.StartOf wdStory
Selection.Find.ClearFormatting
Selection.Find.Font.Color = wdColorRed ' 在这里可以设置更多的匹配格式,如字体、字号等
While Selection.Find.Execute(FindText:="", Forward:=True, Format:=True)
ActiveDocument.Indexes.MarkEntry(Selection.Range, Selection.Range.Text).Select
Selection.Collapse wdCollapseEnd
Wend
oSaveSelection.Select
ActiveDocument.Indexes.Add Selection.Range
MsgBox "完成!"
6. vba提取指定单元格数据的方法
假设把 sheet1 中A1单元格赋值给X变量,语句如下:
X = sheets(1).range("A1"
)假设X经过计算后,得到一个变量值Y,那么把Y赋值给A1,语句为:sheets(1).range("A1")=Y这样就实现了单元格与变量之间的相互赋值关于此例中涉及到的VBA中变量的相关知识:
1、什么是变量变量是一个命名的内存位置。是在程序或代码运行过程中,用于临时存储数据,并且其存储的数据可以根据需要发生改变的一个命名项目。
变量由名称(变量名)和数据类型指定:变量名——用来引用变量数据类型——确定变量所能存储信息的种类以及所占存储空间的大小2、变量的命名规则(1)名称是由字母(A-Z,a-z)或数字和下划线“_”的任意组合。
(在Excel 2002以后的版本中也可以包含中文);最后一个字符可以是类型说明符;
(2)变量名的长度不得超过255个字符(3)变量名在有效的范围内必须是唯一的。
有效的范围就是引用变量可以被程序识别的作用范围 例如一个过程、一个窗体等等;
(4)变量名不能是VBA中的保留字(关键字),也不能是末尾带类型说明符的保留字,但可以把保留字嵌入变量名。说明:
(1)变量名是不区分大小写的。如ABC、aBc、abc等都是一样的;
(2)定义和使用变量时,通常要把变量名定义为容易使用阅读和能够描述所含数据用处的名称;
(3)根据需要混合使用大小写字母和数字。如果需要使用多单词组,变量中每个单词的第一个字母大写,例如:DataTemp表示临时数据,也可以两个单词中下划线分隔,例如:Last_Num;
(4)对于变量名也有更好的建议,每个变量名以两个或三个字符缩写开始,这些字符缩写对应于变量要存储数据的数据类型。
例如strWorksheet as string表用来示工作表名,前缀str表示当前变量的类型。
7. vba提取指定列数据
获取指定的工作簿中工作表名称而非本工作簿中表的名称,下面的代码可以使用:Sub 提取name()Dim wk As WorkbookDim sh As WorksheetDim rw As ByteSet wk = Workbooks.Open("D:\函数习题\第1章 函数基础.xls")For Each sh In Workbooks(2).Worksheetsrw = rw + 1ThisWorkbook.Sheets(1).Range("a" & rw) = sh.NameNext shwk.Close TrueEnd Sub新建一个工作簿,在VBA中新建一个模块,将上面的代码复制进去。记住要根据自己指定的工作簿改变一下workbooks.open后面的路径。结果会在新建工作簿中sheets1a列罗列出工作表名称。
8. vba提取指定单元格数据的函数
1。 选择要删除条件格式的单元格; 2。 选择菜单“格式”/“条件格式…”,在系统弹出“条件格式”设置对话框中按“删除”按钮。 或者 1。 选择没有设置条件格式的单元格; 2。 按下工具列的格式刷,对要删除条件格式的单元格进行格式复制。
如要删除工作表中全部或部分相同条件格式,可先按“Ctrl+G”,之后在对话框中按“定位条件”,系统显示定位条件对话框(参见图五),在该框中,选择“条件格式”,之后,根据需要选择“全部”或“相同”,再按“确定”,回到编辑窗口,这时,所有设置了条件格式的单元格都被选中,再按上面所讲的第一种删除方法删除即可。
图五自动工作日计算 工作量当然得以“工作日”的数量去安排,但每个月的天数不同,而且周六日也不尽相同。如果想准确地知道一个月有多少个工作日,可以请Excel来帮忙! 小知识 标准工作日是指法律规定的各企业、事业、机关、团体等单位在正常情况下普遍实行的工作日。
通俗的说,就是指除了国家法定节假日(双休日、元旦、五一、国庆、春节等)之外正常工作的日期。 任务分析 因为每月的总天数和双休日的分布是不同的,而且春节是农历的假期,简单地使用Excel函数去计算是满足不了要求的。我们先使用Excel“分析工具库”中的networkdays()函数计算出“准工作日”,再考虑其中的特殊农历假日。
这样就能准确的算出“工作日”的天数。 有请 networkdays()函数 通常情况下,在Excel中是找不到这个函数的。别着急,跟我来。单击“工具→加载宏”,在弹出的“加载宏”对话框中复选“分析工具库”,再单击“确定”按钮。将Office的安装光盘放入光驱,按提示即可安装成功,如图1。
外来的和尚念不好经 networkdays()函数的语法为:networkdays(Start_date,End_date,Holidays)。其中Start_date表示开始日期,End_date为终止日期,Holidays表示一个或者多个特定假日序列,可以采用单元格引用的方式。
如图2,B8单元格公式“=networkdays(B2,B3,B4:B6)”结果为20。事实上,2004年的10月2日和3日是星期六和星期天,那么按照我们的习惯就会通过调休的方式,最终得到10月份只有18天上班,而不是networkdays()函数计算出的20天。
特殊假日的处理 虽然说直接应用networkdays()函数并不能得到正确的工作日天数,但我们还是可以通过对此函数的变化来得到。图3是我们的范例,演示了如何一步一步逼近我们的目标。 第一步:将A列定义为月份。选中A列,在右键菜单中选择“设定单元格格式”,在“数字”标签中选择“分类”为“自定义”,“类型”中输入“yyyy-mm”格式,单击“确定”按钮退出。
第二步:设计B列公式。先直接用networkdays()函数计算只考虑本月除去双休日后的天数。虽然可直接使用该函数,但需要知道每月的开始日期和终止日期。开始日期当然是每月的1日,用“date(year(A2),month(A2),1)”表示就OK了。
结束日期应当是每月的最后一天,这就有些难度了,究竟是30日、31日还是28日、29日?需要一个复杂的判断关系。这里我们采用了一个变通的办法,就是当月的最后一天其实就是下月的第一天再减去1天,所以我们可以用“date(year(A2),month(A2)+1,1)-1”来表示。
于是B2的公式就有了:“=networkdays(date(year(A2),month(A2),1),date(year(A2),month(A2)+1,1)-1)”。第三步:计算除了春节以外的双休日。我们知道国家规定的公众假日一共10天,除了春节的3天是每年变化的外,其余元旦1天,劳动节3天,国庆节3天都是固定的。
因此我们可以用IF函数对月份是否是1月、5月和10月做判断,再来减去相应的公众假日天数,就得到了不考虑春节以外的工作日。于是C2=if(month(A2)=5,B2-3,if(month(A2)=5,B2-3,if(month(A2)=1,B2-1,B2)))或者使用or()函数就是C2=if(or(month(A2)=5,month(A2)=10),B4-3,if(month(A2)=1,B4-1,B4))。
第四步:考虑春节的问题。根据常识,春节的三天只会在1月份或者2月份出现,也就是说最后的判断只正对1、2月份。通过万年历查询得到2000——2010这十年的春节分布,巧的是正好没有春节三天跨月份的年份,也就是说春节三天不是落在1月份就是落在2月份,如图4所示,这给我们应用IF函数判断带来了方便。
通过对年份和月份的判断,减去相应的春节天数,就得到了真正意义上的工作日。因此在D2中应该输入=IF(AND(OR(YEAR(A2)=2001,YEAR(A2)=2004,YEAR(A2)=2006,YEAR(A2)=2009),MONTH(A2)=1),C2-3,IF(AND(OR(YEAR(A2)=2000,YEAR(A2)=2002,YEAR(A2)=2003,YEAR(A2)=2005,YEAR(A2)=2007,YEAR(A2)=2008,YEAR(A2)=2010),MONTH(A2)=2),C2-3,C2))。
第五步:隐藏过渡列。选中“B:C”这两列,在右键菜单中选择“隐藏”,将中间用于计算方便所使用的过渡列B和列C隐藏即可。 选中区域B2:D2,按住填充柄向下拖动填充后,只要在A列任一单元格输入月份,就可以在D列得到该月相应的天数,是不是很方便? 让多页表自动生成表头 当我们制作的表格有好多页的时候(如成绩统计表等),为便于观看,最好是每一页都添加一个相同的表头。
如果表格文件页数很少,通过手工的方法就可以很容易地实现。但当一个表格文件多达数十页的时候,再一个一个地逐页添加,不仅费事,还容易出错。那么,有没有办法让系统自动生成呢? 1). 在Word 2003中 打开Word 2003表格文档,选中第一页表的表头,然后点击“表格→标题行重复”。
假如表头有两行内容,选中开头两行,这样,在后面的每一页,都会将这两行的内容作为表头。 2). 在Excel 2003中 (1)打开Excel表格文档,点击“文件→页面设置”。 (2)在调出的“页面设置”对话框中,选择“工作表”选项卡,在“顶端标题行”栏中输入表头行号,其中,“$1”表示第1行,“$1:$2”表示第1、2行。
本例中设置为“$1:$2”,打印出来的每页表格便都有同第1、2两行同样内容的表头。 3). 在金山文字2003中 (1)打开金山文字2003表格文档,选中表格,然后点击“表格→表格属性→表格外观”。 (2)在调出的“表格外观”属性窗口上,选择“外观设定”为“行列式1”,设置“以标题行重复出现行数”,本例设置为“2”,即在每一页表格都自动生成与第1、2行内容相同的表头。
4). 在金山表格2003中 (1)打开金山表格2003,点击“文件→页面设置”。 (2)在调出的“页面设置”选单中,选择“工作表”选项卡,在“顶端标题行”输入表头行数,本例为“2”,即在打印出来的每一页表格上,都自动生成与第1、2行内容相同的两行表头。
如果表格的表头在左边,可以在“左端标题列”栏中输入表头列数。 Excel轻松实现自动换行 Excel处理数据之便捷众人皆知,可在其单元格内换行就略显不便,不知你是否也遇到过此类问题?通过摸索,以下四法便能轻松实现单元格内的自动换行。
1。 输入数据随时换行 用户若要在输入数据时换行,只要通过Alt+Enter组合键即可轻松实现。此方法同样可使已输入内容的单元格在光标所在处换行。 2。 单元格区域内换行 将某个长行转成段落并在指定区域内换行。
例如:A10内容很长,欲将其显示在A列至C列之内,步骤是:选定区域A10:C12(先选A10),选择“编辑→填充→内容重排”,A10内容就会分布在A10:C12区域中。此法特别适合用于表格内的注释。 3。 调整单元格格式换行 选定单元格,选择“格式→单元格”,在弹出的对话框中单击“对齐”,选中“自动换行”复选框,单击[确定]按钮即可。
4。 文本框的巧用 单击“视图”菜单,在“工具栏”命令中,选中“绘图”工具栏,单击该工具栏的“文本框”,为了保证文本框的边界与工作表网格线重合,需按住Alt键的同时插入文本框,然后,就可以在文本框中任意输入内容了。 通向Excel智能化的N条捷径 智能判断Excel重复数据 在Excel工作表中,若要判断各个单元格中的数据是否重复并统计出重复的行号,可使用函数令其自动执行操作。
假设,要统计显示于A1~A12单元格中的数据。首先,在B1单元格中输入代码: =IF(COUNTIF($A$1:$A$13,VLOOKUP(A1,A2:$A$13,1,0))>1,CONCATENATE("重复行号:",MATCH(A1,A2:A$13,0)+ROW(A1)),"") 而后,在B1单元格中会显示与A1数据重复的行号。
下面,选择区域B1~B12,点击菜单栏“编辑”→“填充”→“序列”,在弹出对话框中查看“类型”项目,在此选择“自动填充”,其余选项保持默认设置。确认操作后,B2~B12之间的重复行号均会自动填充(如图1)。 快捷搜索相同的数据 在Excel中,若要从众多的数据快速查找到相同的一组数据,可利用其筛选功能。
先选择数据列的最上方的单元格,再点击菜单栏“数据→筛选→自动筛选”。而后,即可在该单元格上看到一个向下箭头按钮,点击它,在弹出菜单中选择欲查找的相同数据即可(如图2)。 自动填写IP地址 如果需要在Excel中输入在大量本公司局域网的IP地址,人工操作是非常耗时的,这种情况下我们可使用以下方法使其自动完成输入。
首先,在数据列的第一行和第二行输入IP地址。然后,选择这两个已输入IP地址的单元格,点击工具栏上的“复制”按钮。此后,会看到该区域又被添加为虚线边框,把鼠标置于该区域的右下角,会看到一个十字形光标,点击拖拽该光标至需输入IP地址的结束位置。放开鼠标后,将看到所有IP地址均按规则自动填充完毕(如图3)。
提示:按照用户的习惯性思维,往往会考虑使用Excel的“自动填充”实现这一效果,但可惜在本例中此项功能并不奏效。 自动计算销售金额 在如图4所示的表单中,若要计算出某个员工一个月内的销售金额,可以使用筛选再求和的方法,也可以使用函数计算。
方法1:定位于“人员”单元格,点击菜单栏“数据→筛选→自动筛选”,而后点击新增的该单元格向下箭头按钮,在弹出菜单醒≡褚桓鲋付ǖ男彰 似渌 嗽保 笱≡袼 邢 劢鸲钪械氖 荩 俚慊鞴ぞ呃干系摹白远 蠛汀卑磁ゼ纯苫竦眉扑憬峁 7椒?:定位于某人一月汇总销售金额输入位置的单元格后,输入公式代码: =SUM((B列始行数:B列结束行数="目标员工姓名")×(D列始行数:D列结束行数="1")×(C列始行数:C列结束行数))再按“Ctrl+Shift+回车”确认公式即可。
智能化判断数据有效性 1. 自动弹出说明提示 对于需要注释说明的单元格数据,我们可为其添加提示功能,以帮助用户能够更明晰地了解当前内容。在选定Excel表格中的指定单元格后,点击菜单栏“数据→有效性”,而后在弹出窗口中切换到“输入信息”标签页,在此输入选定单元格时显示的标题及信息(如图5)。
2. 自动弹出错误提示 我们还可以设置在Excel中当输入不符合条件的数据时自动提示。按以上方法调出“数据有效性”窗口后,切换到“出错警告”对话框,在此可选择出错警告的图标样式与标题及错误信息。 3. 限制输入数据的条件 默认状态下,在Excel中可以输入任何数据,而你若是想让指定单元格的数据只能是日期、时间或是有大小、长度等限制,即可使用Excel有效性功能。
在“数据有效性”窗口中,查看“设置”标签页,在此点击“允许”下拉列表,在此选择允许输入数据的条件,例如“整数”、“小数”、“序列”、“文本长度”等,而后再按需进一步详细设置。 4。自动添加表头 有些用户在打印多页Excel表格时发现,仅第一页有表头,而第二页以后就看不到表头,只能手工添加,其实只需要调节一下打印设置即可。
在Excel中点击菜单栏“文件→页面设置”,而后在弹出窗口中切换到“工作表”标签页,在此查看“打印标题”项目,在“顶端标题行”中输入每页打印的表头内容,再预览一下效果。 隔行数值自动求和 有时出于特殊需要,得把一个Excel表格中的单数行数值及双数行数值分别相加(即隔行数值相加),统计出最终结果5 砀裉 ぃ 止ぜ扑闶翟谑翘 氖保 耸本托枰 罢乙桓鼋菥丁J紫龋 诘鼻氨砀袷 档挠也嗵砑右涣小H缓螅 诘谝恍泻偷诙 械ピ 衲谑淙氩煌 淖址 ㄈ鏰、b),再使其自动填充整列。
下面,点击菜单栏“数据→筛选→自动筛选”,此后在添加列中分别选择那两个不同的字符,即可筛选出单行与双行的数值。选中这些数值后,点击工具栏上的“自动求和”按钮既可。 让Office 2003能自动输入序列号 office 2003是微软公司推出的新一代团队协作及办公处理软件。
和微软的其他产品一样,在安装时它会要求用户对照着光盘用户手册一个字符一个字符地输入序列号。其实,我们只要对office 2003的安装程序稍加改造,就可以让它在安装时自动输入序列号,免去重复输入的麻烦。 先将office 2003安装光盘中的内容全部复制到硬盘的任意目录下,如F:\ office2003。
然后打开资源管理器,进入F:\office2003\office\PRO\FILES\SETUP文件夹,在右侧窗口中用鼠标右键单击Setup。ini文件,在弹出的右键菜单中选择“属性”命令,打开“属性”对话框,将“只读”复选框前的复选框清空,再单击“确定”按钮。
接下来用记事本程序打开Setup。ini文件,找到“[Options]”小节,在其下找到“USERNAME=Customer”一行,这里定义的是用户在安装时输入的用户名,将其改为“USERNAME=你自己的名字”即可;“COMPANYNAME=”定义的是在安装时用户输入的单位名称,将其改为正确的名称即可。
接下来在其下面添加上一个空行,输入“PIDKEY=”,其中,“PIDKEY=”后面,就是光盘用户手册中提供的序列号,序列号要连续输入,不需要用“-”进行连接。输入完毕、检查无误后,保存文件并退出。 现在将“Setup。ini”文件改回成“只读”属性,然后将该文件夹的内容刻录成光盘,以后再需要安装office 2003时,只需双击该光盘“Pro”文件夹下的“Setup。
exe”文件,office 2003就会自动打开一个已经填好了序列号的界面要求你确认,单击“下一步”后会出现一个填好了用户名、单位名称的界面,你只需再单击“下一步”按钮即可,非常方便吧! 给数据添加上单位 用Excel制表,经常需要给单元格中的数据添加上单位,例如单位全年财政预算报表,就需要给单元格数据添加上单位“元”。
遇到这种情况,很多朋友都是手工添加单位符号的,甚是烦琐。在Excel报表中,我们是实现自动为单无格数据添加单位的。 选中所有需要添加单位的单元格,然后单击“格式/单元格”,在弹出的“单元格格式”对话框中,切换到“数字”选项卡,在“分类”列表框中点选“自定义”,在“类型”列表框中选择自己需要的数据格式,如“0。
00”,最后在“类型”文本框中数据格式的后面添加中需要的数量单位,如“元”,完成后点击“确定”按钮。 好了,现在在Excel中一一录入数据,Excel就会为各单元格自动添加上数量单位了,可谓是一劳永逸,十分方便。 用Excel制作自动评分计算表[文章导读] Excel自动评分计算表功能:去掉最高分和最低分后,求出平均分,根据平均分的高低排定选手的名次…… Excel自动评分计算表功能: 参加比赛的选手为20人,评委9人,去掉1个最高分和1个最低分后,求出平均分,然后根据平均分的高低排定选手的名次。
本实例所涉及到的函数有: SUM(Number1,Number2……) MAX(number1,number2……) MIN(number1,number2……) RANK(Number,ref,order) 一、评委评分表的制作 1、启动Excel2003,新建一空白工作簿。
2、在Sheet1工作表中,仿照如图1所示的样式,制作一份空白表格。 3、执行“文件→保存”命令(或按“Ctrl+S”组合键),打开“另存为”对话框(如图2)。 4、单击工具条上“工具”按钮,在随后出现的下拉列表(参见图2)中,选择“常规选项”,打开“保存选项”对话框(如图3),设置好“打开权限密码”后,确定返回。
注意:①密码需要重新确认输入一次。②此处只需要设置“打开权限密码”,如果设置了“修改权限密码”,则评委在保存评分时,必须提供密码,反而造成不须要的麻烦。 5、然后取名(如1。xls)保存。 6、再执行“文件→另存为”命令,再次打开“另存为”对话框,然后仿照上面的操作重新设置一个密码后,另取一个名称(如2。
xls)保存一下。 7、重复第6步的操作,按照评委数目,制作好多份工作表(此处为9份)。 用Excel巧妙设置定时提醒 小余在交易中心工作,经常要打电话通知相应的评委参加工程评标工作,有时工作一忙,就忘记通知而影响正常开标。
由于他每天都用Excel为登记相应的数据,于是,我就用Excel为他设置了一个定时提醒的功能。文章末尾提供原文件供大家下载参考。 1、启动Excel,新建一文档,取名保存(如“提醒。xls”)。 2、按“Alt+F11”组合键进入VBA编辑状态(如图1)。
(图片较大,请拉动滚动条观看) 3、在左侧“工程资源管理器”窗口中,选中“VBAProject(提醒。xls)”选项,执行“插入模块”命令,插入一个新模块(模块1,参见图1)。 4、将下述代码输入到右侧的编辑区域中: Sub auto_open() '设置一个自动运行的宏——auto_open Application。
OnTime TimeValue("08:30:00"), "tx" '设置提醒时间——08:30:00(可以根据需要修改),设置调用提醒宏——tx。 Application。OnTime TimeValue("09:30:00"), "tx" '再设置提醒一次。
End Sub Sub tx() '设置一个显示提醒消息的宏(名称要与上述自动运行宏中调用的名称一致)。 msg = MsgBox("通知张三、李四、王五评委参加下午评标!", vbInformation, "赶快打电话") '设置提醒对话框中的消息和标题(前面是消息内容,后面是对话框标题,请根据需要输入)。
End Sub 注意:①上述代码中,英文单引号及其后面的字符是对代码的解释,在实际输入时可以不需要(参见图1)。②如果设置多个提醒宏(tx1、tx2……),并在自动运行宏中分别设置调用的时间,可以实现多个消息的定时提醒。 5、输入完成后,退出VBA编辑状态,保存工作簿文档。
6、以后,一上班,就启动Excel,打开上述工作簿文档。设定时间一到,系统即刻弹出如图2所示的提示框,这下不会忘记了吧。原文件下载 用Excel实现定时提醒 如果您从事设备管理工作,有近千台机械设备需要定期进行精度检测,那么,就得每天翻阅“设备鉴定台账”来寻找“到期”的设备——实在是太麻烦了!用Excel建立一本“设备鉴定台账”是不是方便得多?方法是:用Excel的IF函数嵌套TODAY函数来实现设备“到期”自动提醒。
首先,运行Excel,将“工作簿”的名称命名为“设备鉴定台账”,输入各设备的详细信息、上次鉴定日期及到期日期(日期的输入格式应为“年-月-日”,如:2003-10-21,如图1)。 图1后,选中图1所示“提示栏”下的F2单元格,点击插入菜单下的函数命令,在“插入函数”对话框中选择“逻辑”函数类中的IF函数,点击[确定]按钮,就会弹出“函数参数”对话框,分别在Logical_test行中输入E2=TODAY()、value_if_true行中输入“到期”、Value_if_false行中输入“" "”(如图2),并点击[确定]按钮。
这里需要说明的是:输入的 "" 是英文输入状态下的双引号,是Excel定义显示值为字符串时的标识符号,即IF函数在执行完真假判断后显示此双引号中的内容。为了醒目,可在“单元格属性”中将F2单元格的字体颜色设置为红色。图2 最后,拖动“填充柄”,填充F列以下单元格即可。
我们知道Excel的IF函数是一个“条件函数”,它的语法是“IF(logical_test,value_if_true,value_if_false)”,具体地说就是:如果第一个参数logical_test返回的结果为真,则执行第二个参数Value_if_true的结果,否则执行第三个参数Value_if_false的结果;Excel的TODAY函数〔语法是TODAY()〕是返回当前系统日期的函数。
中4-5-31 15:43:04 实际上,本文所应用的IF函数语句为IF(E2=TODAY(),"到期",""),解释为:如果E2单元格中的日期正好是TODAY函数返回的日期,则在F2单元格中显示“到期”,否则就不显示,TODAY函数返回的日期则正好是系统当天的日期。
Excel的到期提醒功能就是这样实现的。 Excel 控制重算的方式 计算是指进行公式运算,然后在包含此公式的单元格中以数值形式显示出运算结果的过程。在一般情况下,当在单元格中输入一个公式时,如果相关的单元格已经准备好数据,则Excel将自动计算出结果,并显示在单元格中;如果相关的单元格没有准备好数据,则Excel将在单元格中显示“0”。
实际上,可以将工作表设定为“人工重算”模式,以便在输入工作表时,提高数据的输入速度。设置手动计算的步骤如下: (1)执行“工具”菜单中的“选项”命令,出现选项对话框。 (2)单击“重新计算”选项卡,出现如图7-10所示的对话框。
(3)选定其中的“人工重算”,按下“确定”按钮。 以上是对这个问题的回答,希望对您有帮助。
9. vba 读取单元格数据
在lost**方法里面加上 窗体.value = range("a1").value或者setTitle方法
10. vba怎么获取指定单元格内容
ID
1、LEFT函数:
用法:LEFT(要提取字符所在单元格,从左侧开始提取的个数)
例如:=LEFT(A1,2) 意思是从A1单元格提取前两个字符。
2、RIGHT函数:
用法:RIGHT(要提取字符所在单元格,从右侧开始提取的个数)
例如:=RIGHT(A1,2) 意思是从A1单元格提取最后两个字符。
3、MID函数:
用法:MID(要提取字符所在单元格,开始位置,提取个数)
例如:=MID(A1,2,2) 意思是从A1单元格提的第二个单元格开始,提取两个字符,也就提取A1单元格第2个和第3个字符。
注:用MID函数,也可以替代前两个函数,比如:=MID(A1,1,2)与=LEFT(A1,2)的结果是一样的,再比如:=MID(A1,LEN(A1)-2+1,2)与=RIGHT(A1,2)的结果是一样的只是这里用到LEN函数,其作用是取得单元格字符串的长度。
4、提取后的字符合并:
字符合并要用到连接符号:&
比如:=LEFT(A1,2)&RIGHT(A1,2) 意思是把A1单元格的前两个和最后两个字符,提取出来组成一个新的字符。
下面给出两种方法:
方法1. 如果会用vba的话可以考虑自定义函数:
按alt+f11唤出vbe编辑窗口,插入-模块,将下方代码贴入:
Public Function Zstr(str As String, tj As String) With CreateObject("Vbscript.Regexp") .Pattern = "^(\d+).*" & tj & ".*" .Global = True .MultiLine = True .ignorecase = False If .test(str) Then Set mh = .Execute(str) Zstr = mh(0).submatches(0) Else Zstr = CVErr(xlErrNA) End If End WithEnd Function回到工作表中
在c1里输入如下公式:=zstr(A1,B1)
方法2. 公式(略长):
=--LEFT(TRIM(MID(SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200)),MAX(1,FIND(B1,SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200)))-200),FIND(B1,SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200))))),FIND("=",TRIM(MID(SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200)),MAX(1,FIND(B1,SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200)))-200),FIND(B1,SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200))))))-1)
假设是A列
i=range("a65536").end(xlup).row()
msgbox range("A" & i).value
msgbox range("A" & i-1).value
如果ID值都是4位数的话,那么用以下代码就可以了:
Sub www() Dim y% For y = 1 To Cells(1, Columns.Count).End(xlToLeft).Column Cells(2, y) = Right(Cells(1, y), 4) Next yEnd Sub
excel提取单元格内某字符后面一位的数据全部提取出来 用vba实现 - : C1=IF(ISERROR(FIND("张三",A1)),"",MID(A1,FIND("张三",A1)+2,1))&IF(OR(ISERROR(FIND("张三",A1)),ISERROR(FIND("张三",B1))),"","+")&IF(ISERROR(FIND("张三",B1)),"",MID(B1,FIND("张三",B1)+2,1)) 然后下拉 这个可以实现提取A和B列中第一个张三后面的数字
EXCEL怎么提取单元格内某字符后面的所有文字 - : =MID(A1,FIND("房",A1)+1,LEN(A1)-FIND("房",A1))
EXCEL中如何提取单元格中最后一个字符 - : 方案a:复制到记事本中,再从记事本复制到word中.设置段落格式为:右对齐.将插入点置于最后一个字符右侧,按住alt不放,压住鼠标左键,选中要删除的区域,删除.然后复制回excel 方案b:假设数据在a列,则到一个空列,输入=left(a1,len(a1)-1) 向下填充公式,就得到你要的结果了.
excel怎样获取单元格中特定字符前面或者后面的内容 - : 方法一:用函数=MID(A1,FIND("|",A1)+1,99),参数你根据自己的事情情况调整... 方法二:用查找替换功能.先把这列复制两列,然后以列为单位去查找,查找*|,替换,则可得到|后面的字符,查找|*替换,则可得到|前面的字符
EXCEL怎么提取单元格内某字符后面的所有文字: 假设 ...房顶上...这个在a1单元格,现在在a2单元格提取, 在a2单元格输入下列公式: =right(a1,len(a1)-find("房",a1)+1)
在EXCEL表格里,怎么提取某一单元格中的一部分文字 - : 用mid(),比如:从单元格a1(内容为“在excel表格里”)提取“excel”,可以用公式:=mid(a1,2,5),表示在a1中,以第2个字符开始的5个字符组成的字符串.
excel中提取单元格内指定最后一个符号前的内容 - : 假设字符数不超过100个,用:=LEFT(A1,LOOKUP(1,0/(MID(A1,ROW($1:$100),1)="#"),ROW($1:$100))-1)
excel中如何提取某个字符前面、后面的字符,长度不一、每个单元格都有这个字符: 前面的,=LEFT(A1,FIND(”@”,A1)-1),@就是那个字符.后面的,=MID(A1,FIND(”@”,A1)+1,99)
EXCEL 单元格中有两个字符,如何提取其中一个字符后面的内容: 如果是提取最后的数字,可用下面公式:=LOOKUP(9^9,--RIGHT(A1,ROW(1:99)))也可用下面公式:=--MID(A1,FIND("x",SUBSTITUTE(A1,"x","",1))+2,99)数字99可以换成适当的数,如12.如果提取文本,可用第二个公式,将前面的“--”去掉.
如何用最简单的公式截取Excel单元格内最后一个空字符后面的所有信息. - : =TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",100),LEN(A1)-LEN(SUBSTITUTE(A1," ",))),100))
11. vba提取单元格指定字符前内容
VBA截取某个字符前的字符串,可以使用如下的方法:使用Index = InStr(string, exp)函数判断字符串中是否含有某个字符,如果有,就会返回该字符出现的位置。
再使用left_char = Left(string, Index)来截取某个字符前的字符串。
- 相关评论
- 我要评论
-