vba编程基础知识菜鸟,菜鸟想学习VBA编程应该从哪里学起

1,菜鸟想学习VBA编程应该从哪里学起找本VB的基础书 ,先熟悉下函数和空间 。下个VC6.0(要装VB哦),练习下,在开始学VBA吧你好!学以致用,时学时练,最后是有个练手的项目,比如你想做一个什么东西 。否则 , 三天不学就全忘完了,学了也没用 。打字不易,采纳哦!【vba编程基础知识菜鸟,菜鸟想学习VBA编程应该从哪里学起】
2,VB基础菜鸟问题)代表什么意思?只有)没有(吗?这样做:假设x和y都是在0~100范围之内的 , 那么:Dim x As Integer, y As IntegerFor x=0 To 100For y=0 To 100If (X*5+1)*5/4+1)*5/4+1)*5/4+1)*5/4+1)*5/4+1=Y) ThenPrint("X=" & x & "Y=" &y)Exit ForEnd IfNextNext
3 , 新人菜鸟VBA代码求教Transpose做数组公式的行列转换,你取V8:V12,这里只有一列,看做一行,转换成列当然只取第一行的第一个CELL转换列,既重复显示V8的内容,建议直接循环附值const j = activesheet.[iv1].end(xltoleft).column这个语句有错,应该修改为:dim jj = activesheet.[iv1].end(xltoleft).column不过你的程序错误还很多,不知道你现在调试得怎么样了 。不清楚你想干什么,只是单纯的复制某区域到另一区域么,那也不用这么麻烦
4,我想学EXCEL的VBA基础知识从最容易的入手 。Excel本身提供了一个录制宏的功能 。在工具-->宏-->录制新宏 , 开始录制后 , 你的每一步操作都会被记录下来,按停止录制后就会生成一个宏 。然后“工具-->宏-->宏-->编辑”就会打开在自带的VisualBasic编辑器中打开你刚录制的宏 。将编辑器窗口缩小一点 , 按F8键(执行一步)就可以知道每一步作了什么 。再对比Excel的帮助或买一本参考书就能慢慢理解了 。理解后再深入就容易了 。SUB就是在定义函数或子过程时必须使用的一个字眼,这是编译系统事先要求的 。function也是这个意思;汇编中的SEG、DATA等也是这个意思 。但是具体用法或含义还是有区别的 。已经会一些编程方法的人不一定能解释清楚SUB,但不知道SUB、甚至不能意会SUB是什么东西,那么就一定不懂编程 。所以建议sdhl123看一点编程基础的书籍,先了解什么是编程 , 而不要为求快而看VCD的手把手教程 。VBA概述:VBA是Visual Basic For Application的缩写,是VB在office中的运用 。是基于Visual Basic For Windows发展而来的,VB For Windows是Microsoft于1992年推出的开发Windows应用程序的程序设计语言,由于基语法简单,易学易用,所以深受用户的欢迎 。而VBA和VB For Windows大体相似 。在Office2000之前,VBA在Word,Excel,Access等Office系统软件中的运用有些有同,但是到Office2000就统一起来了 。Excel是第一个包含有VBA的应用程序,自Office2000以后,Eexel,Word,PowerPoint,Access中已经有了统一标准的宏语言VBA , 其中Excel和Access的VBA最为成熟 。在Excel中VBA程序即可以存放有.xls中 , 也可以单独以文本形式存放 。对VBA的学习,用户首先必须VB有一定的了解(不过不必很专业,毕竟经常用Excel的用户一般是办公人员 , 不可能是专业编程人员) , 然后结合宏记录器学习 。因为,宏记录器可以记录宏,用户可以非常清楚了然VBA的很多知识 。另外,如果不是功能很强大的VBA程序,那么用宏记录器就足够了 。打开密码记录器的方法 , 通过“工具->宏->录制新宏” 。另外 , 用户可能用“工具->宏->宏...”来管理宏 。用“工具->宏->VB 编辑器”或Alt+F11可以打开VB编辑器,在VB编程器,可以很方便地整个VB工程进行管理 , 可以方便地编写VBA代码 , 另外,用户可以再点击Alt+F11切换到Excel窗口 。VBA的使用过程:1、创建一个Excel文件 。2、创建一个控件,然后双击控件或是右击该控件 , 点击“查看代码”,就可以对该控件的某个事件,如click,keydown等 。进行编写执行代码了 。创建控件的方法是 , 点击“视图->工具栏->控件工具箱”,打开“控件工具箱”栏,然后就可以直接拖动某个控件到Excel单元格中去 。在Excel中窗口,添加的控件一般是处于执行状态的,如果要对这个控件进行编辑,除了第一次建立的时候可以对它进行属性编辑外 , 打开“控件工具箱” , 也可以使控件处于编辑状态,如果还不行,可以再添加一个控件,然后已有的控件绝对会处于编辑状态 。当然 , 对控件修改完毕后,别忘了删除刚才新添加的没有用的控件 。在编辑状态中,你可以右击该控件,点击“属性”,那么就可以打开属性窗口,在这个窗口里,你可以很方便的对这个控件的名字,标题,大小等属性进行编辑 。3、手动或用宏记录器对该控件的某个事件进行编码 。宏记录器简单易用,不过强大的功能还是必须手动编写VBA 。VBA对象介绍:编写VBA代码的最关键在于灵活运用VBA对象,对这些VBA对象的属性或方法进行操作 。另外 , 你也可以创建自定义函数,来对某些操作进行封装 。既然是VBA,编码风格当然和VB相同,如果会VB,那么只要对VBA的对象比较了解,就可以编写功能强大的VBA程序;同样,如果不会VB,那么,只需要了解VBA的对象就够了 , 因为它比较简单易学 。以下分别讨论VBA各对象对其属性与方法:在一些可以包含其他对象的窗口对象中,有几个特殊的属性 , 其属性值是当前活动对象 , 对它们,可以直接引用 。表1 一些特殊的属性对象名 含义ActiveWorkbook 当前工作簿,即如果你打开了几个Excel文件,那么你当然正在编辑的Excel文件即ActiveWorkbookActiveSheet 当前工作簿中的当前工作表,即当前编辑的Excel文件中正在编辑的工作表ActiveCell 当前工作表中活动单元格ActiveChart 当前工作簿中的活动图表Selection 当前被选定的对象 下面详谈各对象及它们的属性和方法一、Application对象此对象指Excel应用程序的工作环境 。<一>属性1.Caption属性含义:Excel应用程序标题栏显示的文本 。举例:Application.caption=“船员管理系统” , 如赋值Empty,则恢复Excel默认的标题栏 。2.Cursor属性含义:Excel中鼠标的形状 。表2 Cursor属性属性值 鼠标形状xlDefault 缺少型值,鼠标呈缺少形状xlWait 等待型值,鼠标呈不断翻转的沙漏形状xlNorthwestArrow 箭头型值 , 鼠标呈标准箭头形状xlIBeam 文本型值,鼠标呈“I”字形以等待用户输入文本操作:Application.Cursor=xlWait等 。3、DisplayAlerts属性含义:用以确定是否显示系统的应用提示和警告信息,如果不想显示 , 则把些属性设为false , 反之亦然 。4、DisplayFormulaBar属性含义:用以确定是否显示公式编辑栏 5、DisplayScrollBars属性含义:用以确定是否显示Excel的滚动条 6、DisplayStatusBar属性含义:用以确定是否显示Excel的状态栏 7、EnableCancelkey属性含义:用以确定是否允许用户中断正在执行着的VBA程序 。缺省情况下,在VBA程序执行过程中,用户按下Ctrl+Break能够中断VBA程序的执行 。此时此属性即值为xlInterrupt 。若要禁止中断VBA程序,由赋值为xlDisabled;若需要VBA执行过程中遇到错误进中止,由赋值为xlErrorHandler8、ScreenUpdating属性含义:用以确定是否显示VBA程序的中间运算结果 。9、StatusBar属性含义:设置状态栏的文本 10、ActiveWorkbook属性含义:如表1介绍 。11、ActiveSheet含义:如表1介绍 。12、ActiveCell属性含义:如表1介绍 。13、ThisWorkBook属性含义:用以返回正在执行着VBA程序所在的工作簿对象 。这不是当前工作簿 。例如有多个工作簿打开时,ActiveWorkbook属性返回当前工作簿对象,ThisWorkbook返回正在运行着VBA程序所在工作簿对象 。14、PathSeparator属性含义:返回文件文件路径分隔符“\” , 该属性是一个只读属性 。举例:Dim strPath as StringstrPath=Application.ThisWorkbook.Path&Application.PathSeperatorWorkbooks.Open strPath&"myExcel.xls" 15、UserName属性含义:设置当前用户名称 。缺省用户是由Excel选项对话框的“常规”选项卡中“用户姓名”决定的 。用户可以从“工具”菜单中选择“选项”命令来打开选项并在“常规”选项卡的“用户姓名”文本框中重新设置缺省的用户名称 。<二>方法 1、Calculate方法含义:对Excel打开的工作簿中所有的公式进行重新计算 。2、Goto方法含义:选择工作簿中的一个Range对象或一个VBA过程,格式如下:Application.Goto Reference,ScrollReference参数表示Goto方法的目的地,Scroll参数若为True,滚动条滚动以使Range对象出现在工作簿窗口左上角,为False , 当前工作簿窗口不属性变化 。缺省值为Galse举例:Application.Goto Range("C3"),True 3、InputBox方法含义:用于打开一个输入对话框 , 允许用户输入数据 。格式如下:Application.InputBox(prompt,title,left,top,helpFile,helpContextID,type)prompt参数用于设置输入对话框的提示信息title参数用于设置输入对话框的标题文字default参数用于设置输入对话框的缺省输入值left和top参数用于设置输入对话框左上角的坐标值helpFile参数用于设置输入对话框在线帮助的名称helpContextID参数用于设置输入对话框在线帮助主题的上下文标识号type参数用于设置输入对话框输入数据的类型 。缺省情况下,为文本型举例:UserValue=http://www.lisdn.com/mnsj/hhjy/Application.InputBox("请输入数据","数据输入",Type:=7)4、Onkey方法含义:按下某个或组合键时执行一段VBA代码 。自己尝试一下就知道了,也可看一下VB编辑器的提示(即输入Applicatio.Onkey后,VB编辑器弹出的下拉提示 。二、Workbooks对象集当前所有打开的工作簿对象的集合 属性 1、Count属性 , 只读 , 返回Excel打开的工作簿数 方法 1、Add方法,向工作簿对象集中一个新的工作簿,相当于“文件->新建”命令 。格式如下:Workbooks.Add Template 2、Open方法,打开一个指定的工作簿 。格式看一下VBA编辑器中的提示就行,太累了,不想写得这么全 。3、Close方法,关闭一个工作簿文件 三、Workbook对象 代表一个独立的工作簿文件 属性 1、ActiveSheet属性,返回当前工作簿中的活动工作表对象 2、Author属性,返回或设定工作簿的作者姓名,由此确定工作簿的所有者 3、Saved属性,用于瓢工作簿文件是否做过修改 。方法 1、Activate方法,用于霜一个工作簿为当前活动工作簿,如 , Workbooks("myOffice.xls").Activate 2、Close方法,用于关闭指定的工作簿 3、Save方法 , 用于保存指定的工作簿 4、SaveAs方法,用于另存为指定的工作簿 四、Worksheets对象集 代表当前工作簿所有的工作表(Worksheet)的集合 。属性 1、Count属性,返回当前工作簿中的的工作表的数量 方法 1、Add方法,向工作表对象集中添加一个新的工作表对象,格式如下:Worksheets.Add Before,After,Count,TypeBefore和After参数指哪一个工作表之前或之后插入新工作表 。取值为Worksheet如:Worksheets.Add Before:=Worksheets("Sheet2"),则相当于在Sheet2工作表之前插入了一个新的工作表 五、Worksheet对象 代表工作簿一个独立的工作表 。获取某个工作表,可以用Worksheets("办公费用"),也可以用Worksheets(3)之类的语句 属性 1、Name属性,设置或返回工作表对象的名称 2、Visible属性,确定是否隐藏某个工作表 方法 1、Calculate法,对指定的工作表中的所有公式进行重新计算 2、Copy方法,用于复制指定的工作表,并放置在指定的位置,实际是一个复制与粘贴并重的函数,格式:Worksheet-Object.Copy Before,After如Worksheet("Sheet2").Copy After:=Worksheets("办公费用"),相当于把Sheet2工作表复制,并把它放置在名为“办公费用”的工作表之后 3、Move方法,移动指定的工作表并放置在指定的位置,用户同Copy方法,区别只天于复制与剪切之不同 4、Delete方法,无参数删除指定的工作表,如Worksheet("Sheet2").Delete 5、Cell方法,获取指定工作表指定行列的某个单元格格式:Worksheet-Object.Cells(Row,Col),Row,Col为整型,行列值都从1开始如Worksheet("Sheet2").Cell(1,1),相当于获取Sheet2工作表的第一行第一列的单元格 五、Range对象 代表一个半桥区域,可以由多个半桥组成,也可是由一个单元格组成 。引用单元格可用以下两种方法: 一是使用单元格引用,如Range("A1"),Range("A1:C3") 二是使用单元格区域名称,如Range("myRange") 。属性 1、FormulaR1C1属性,为指定的单元格或单元格区域建立和存储公式,如Range("C5").FormulaR1C1="=SUM(R[-4]C:R[-1]C)" 2、Value属性,为指定的单元格或单元格区域赋值,如为多个单元格,则都赋为同样的值 3、Cell属性,以指定的单元格为苦战来描述被引用的单元格,把指定的单元格视为第1行第1列格式:Range-Object.Cells(Row,Col) 4、Offset,以指定的单元格为苦战来描述被引用的单元格,把指定的单元格视为第0行第0列格式:Range-Object.Cells(Row,Col) 5、Name属性 , 返回或设定指定的单元格或单元格区域的名称 , 然后在VBA中 , 可以直接用名称为引用它 6、Count属性,返回指定的单元格区域中包含的单元格的数目,只读 7、CurrentRegion属性,返回以某个单元格为基点的存储有数据的一个连结的单元格区域 方法 1、Select方法方法,用于选择指定的单元格区域 , 执行后,该单元格区域左上角的第一个单元格成为活动单元格如Range("A1:C3").Select,Range("A1:C3,D5:E6,A8:E8).Select 2、Activate方法,用于选择指定的单元格并指定其成为活动单元格,当然只有该单元格区域左上角的第一个单元格成为活动单元格 。3、AutoFit方法,调整选定的单元格区域所在行和列的行高与列宽,使其行高与列宽自动设定的最佳的高度与宽度 。如:Range("A4").CurrentRegion.SelectSelection.Rows.AutoFit 4、Clear方法,清除指定的单元格区域的内容,格式和批注,相当于“编辑->清除->全部”如:Range("A4:C5").Clear 5、ClearContents方法 , 清除指定的单元格区域的内容,相当于“编辑->清除->内容” 6、ClearFormats方法,清除指定的单元格区域的内容 , 相当于“编辑->清除->格式” 7、ClearComments和ClearNotes方法,清除指定的单元格区域的内容,相当于“编辑->清除->批注” 8、Copy方法,将指定单元格区域中的数据库复制到剪贴板或指定的目的单元格区域中 9、Cut方法 , 将指定单元格区域中的数据库剪切到剪贴板或指定的目的单元格区域中 10、PasteSpecial方法,用于将剪贴板中复制或剪切下来的单元格区域中的数据库有选择地粘贴到指定的目的单元格区域中格式:Range-Object.PasteSpecial Paste,Operation,ShipBlanks,TransposePaste参数规定了选择体积类型的数据进行粘贴 , 如公式,内容,批注等,具体取值可参考VB编辑器中的提示会有点困难,有vb基础最好 , 哪怕学过qbasic也行,建议先了解一下前述高级计算机语言的基本知识,然后再学习excel里面的宏录制 , 在vba下编辑宏命令,最后在直接后台编程,这样会把握一些,否则会较吃力 。

    推荐阅读