中企动力 > 商学院 > excel 2016 vba
  • ?

    EXCEL VBA每个工作表第一列建立目录索引

    山中狼

    展开

    建立目录每个工作表都有,代码如下:

    Sub 生成目录链接2()

    Dim i As Long

    For i = 1 To Sheets.Count

    Sheets(i).Columns(1).Clear

    Sheets(i).Hyperlinks.Add Anchor:=Cells(i, 1), Address:="", SubAddress:=Sheets(i).Name & "!A1", TextToDisplay:=Sheets(i).Name

    Next

    For j = 1 To Sheets.Count - 1

    Sheets(j).Columns(1).Copy Sheets(j + 1).Cells(1, 1)

    For k = 1 To Sheets.Count

    Sheets(k).Cells(1, 1).Font.Color = 255

    ActiveWindow.Zoom = 100 '工作表串口视图100%,防止相同的字号大小看起来不一样大

    Columns.AutoFit '每个工作表中的列根据输入的内容自动调整列宽

    Rows.AutoFit '每个工作表中的列根据输入的内容自动调整行高

    ThisWorkbook.Save

    End Sub

  • ?

    小白也能看懂的Excel VBA入门教程(一)

    新波

    展开

    什么是VBA

    Visual Basic for Applications(VBA)是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。简单来说VBA是建立在Office中的一种应用程序开发工具,其实知道这也就够了。

    第一个VBA程序

    首先要把开发工具调出来,Excel默认情况下是不显示开发工具的

    打开vb编辑器,新建模块,并写入代码

    Sub test()Range("A1") = "Hello World" '在A1单元格中填写Hello WorldRange("A2") = "我的第一个VBA程序"End Sub

    在Excel VBA中,Range对象可能是最常用的对象,Range对象可以是某一单元格、某一单元格区域、某一行、某一列、或者是多个连续或非连续的区域组成的区域。代码中 Range("A1") 就代表A1单元格。而“=”是一个赋值运算符,将右边的值传给左边的变量。

    大家学会了吗,其实VBA还是比较简单的。小编准备写一个VBA入门的教程,现在有两种思路,一种是先讲解VB的基本知识,然后在从例子中不断加深理解,这样前期可能相对比较枯燥;另一种是每篇介绍一个例子,讲解一下如何用VBA来解决,从实战中学习,相对来说比较快一点。大家觉得那种更好一点呢,或者有更好的方法,欢迎在下方评论,小编一定会及时回复。。

  • ?

    EXCEL VBA工作表操作全能方法小结

    托尔尼奥

    展开

    [ 01]增加工作表(Add方法)

    Sub AddWorksheet()

    MsgBox "在当前工作簿中添加一个工作表"

    Worksheets.Add

    MsgBox "在当前工作簿中的工作表sheet2之前添加一个工作表"

    Worksheets.Add before:=Worksheets("sheet2")

    MsgBox "在当前工作簿中的工作表sheet2之后添加一个工作表"

    Worksheets.Add after:=Worksheets("sheet2")

    MsgBox "在当前工作簿中添加3个工作表"

    Worksheets.Add Count:=3

    End Sub

    示例说明:Add方法带有4个可选的参数,其中参数Before和参数After指定所增加的工作表的位置,但两个参数只能选一;参数Count用来指定增加的工作表数目。

    --------------------------------------------------------------------------------

    [ 02]复制工作表(Copy方法)

    Sub CopyWorksheet()

    MsgBox "在当前工作簿中复制工作表sheet1并将所复制的工作表放在工作表sheet2之前"

    Worksheets("sheet1").Copy Before:=Worksheets("sheet2")

    MsgBox "在当前工作簿中复制工作表sheet2并将所复制的工作表放在工作表sheet3之后"

    Worksheets("sheet2").Copy After:=Worksheets("sheet3")

    示例说明:Copy方法带有2个可选的参数,即参数Before和参数After,在使用时两个参数只参选一。

    [ 03]移动工作表(Move方法)

    Sub MoveWorksheet()

    MsgBox "在当前工作簿中将工作表sheet3移至工作表sheet2之前"

    Worksheets("sheet3").Move Before:=Worksheets("sheet2")

    MsgBox "在当前工作簿中将工作表sheet1移至最后"

    Worksheets("sheet1").Move After:=Worksheets(Worksheets.Count)

    示例说明:Move方法与Copy方法的参数相同,作用也一样。

    [ 04]隐藏和显示工作表(Visible属性)

    [ 04-01]

    Sub testHide()

    MsgBox "第一次隐藏工作表sheet1"

    Worksheets("sheet1").Visible = False

    MsgBox "显示工作表sheet1"

    Worksheets("sheet1").Visible = True

    MsgBox "第二次隐藏工作表sheet1"

    Worksheets("sheet1").Visible = xlSheetHidden

    MsgBox "第三次隐藏工作表sheet1"

    Worksheets("sheet1").Visible = xlSheetVisible

    MsgBox "第四隐藏工作表sheet1"

    Worksheets("sheet1").Visible = xlSheetVeryHidden

    MsgBox "第五隐藏工作表sheet1"

    示例说明:本示例演示了隐藏和显示工作表的各种情形。其中,使用xlSheetVeryHidden常量来隐藏工作表,将不能通过选择工作表菜单栏中的“格式”——“工作表”——“取消隐藏”命令来取消隐藏。

    [ 05]

    Sub ShowAllSheets()

    MsgBox "使当前工作簿中的所有工作表都显示(即将隐藏的工作表也显示)"

    Dim ws As Worksheet

    For Each ws In Sheets

    ws.Visible = True

    Next ws

    [ 06]获取工作表数(Count属性)

    [ 05-01]

    Sub WorksheetNum()

    Dim i As Long

    i = Worksheets.Count

    MsgBox "当前工作簿的工作表数为:" & Chr(10) & i

  • ?

    EXCEL VBA建立目录列表

    Jin

    展开

    在电子表格中,如下代码可建目录列表

    注意

    目录工作表中提取各工作表名称

    其余工作表第一个单元格显示返回目录

    所有工作标字体,列宽,视图比例大小设置

    其中用到FOR NEXT语句,用到单元格链结,用到COPY方法。

    代码如下:

    Sub 生成目录链接()

    Dim i As Long

    For i = 1 To Sheets.Count

    Sheets(i).Columns.Clear

    Sheets(i).Hyperlinks.Add Anchor:=Cells(i, 1), Address:=ActiveWorkbook.Name, SubAddress:=Sheets(i).Name & "!A1", TextToDisplay:=Sheets(i).Name

    Next

    For j = 1 To Sheets.Count - 1

    Sheets(j).Cells(1, 1).Copy Sheets(j + 1).Cells(1, 1)

    Sheets(j + 1).Cells(1, 1).Hyperlinks(1).TextToDisplay = "返回目录"

    Range("A1").Font.Underline = xlUnderlineStyleNone

    Range("A1").Activate

    For k = 1 To Sheets.Count

    With Sheets(k).Columns.Font

    .Name = "宋体"

    .FontStyle = "加粗"

    .Size = 23

    .Strikethrough = False

    .Superscript = False

    .Subscript = False

    .OutlineFont = False

    .Shadow = False

    .Underline = xlUnderlineStyleNone

    .ThemeColor = xlThemeColorHyperlink

    .TintAndShade = 0

    .ThemeFont = xlThemeFontNone

    End With

    Sheets(k).Select

    ActiveWindow.Zoom = 100

    Columns.EntireColumn.AutoFit

    Sheets("目录").Activate

    Cells(1, 1).Font.Color = 255

    ThisWorkbook.Save

    End Sub

  • ?

    Excel2010三种快速打开VBA界面的小技巧

    史天磊

    展开

    Visual Basic for Application(简称VBA)是一种必须依赖母系程序方能使用的程序,属于VB程序语言的一个子集。我们常用的Excel电子表格除了常规的可视化命令之外,还可以通过VBA代码来操控Excel实现一些较复杂的逻辑运算及统计分析等。我们不仅可以使用代码实现数据的统计运算,还能实现图表的自动生成于刷新,以及图形的旋转与移动。在网上我们可以找到有很多大牛基于Excel的VBA,开发了一些具有特定功能的代码,以及酷炫的游戏界面等。如果您对这方面感兴趣的话,那你必须掌握的第一步操作就是打开VBA界面来认实它。

    复杂的逻辑运算使我们身心俱疲

    闲话少聊,下面就重点介绍一下从Excel窗口切换到VBA界面的操作技巧。

    方法一是通过功能区的选项卡来实现。首先在菜单栏中找到开发工具项,然后在代码功能模块中找到Visual Basic命令按钮,单击它即可快速切换到VBA界面。若菜单栏中没有开发工具这一项,需要设置自定义功能区下的主选项卡来调出该命令。

    功能区的主选项卡-开发工具

    2.方法二是通过工作表标签来实现。首先在Excel界面左下角找到工作表标签区域,右键单击任一一个工作表标签,本教程以Sheet1工作表为例,在弹出的右键菜单中选择查看代码命令,随后即可激活VBA界面。

    Excel工作表标签

    3.方法三是通过快捷键法实现。在Excel操作界面下,按下组合键Alt+F11即可快速切换到VBA界面;在VBA界面下按此组合键即可快速关闭VBA窗口。

  • ?

    Excel 2016的逆天功能,好用到飞起来!

    翁易梦

    展开

    今天介绍Excel里面两个强大到逆天但很多人还不知道的功能,不信你看看?

    一、二维表转一维表

    如下图所示,如果你在工作中遇到这种表格转换需求,会怎么做呢?

    思考10秒钟......

    我见过最多的办法就是......复制粘贴,没错,大量重复繁琐操作最后搞的人头晕眼花脑发胀!

    看完下面这招,不花1分钟你就可以轻松搞定。

    步骤1:单击表格内任意区域,单击【数据】-【从表格】

    步骤2:选中最左列,单击【转换】-【逆透视其他列】

    步骤3:这时你会惊奇的发现,Excel变魔术一样的得到了如下图所示的表格!

    这时只需单击【开始】-【关闭并上载】即可完成。

    步骤4:得到如下所示的表格,正是你想要的。

    整个过程的操作演示动画,请点击如下gif观看

    你没看过,平时那么繁重的工作,用Excel 2016就这么快捷!

    如果你觉得Excel 2016只有这点本事的话,那你可太小看它啦,下面来个更逆天的,让你大开眼界!

    二、拆分复杂数据列并整理为规范表格

    如果要你把下图左侧的表格变成右边的样子,你该怎么办呢?

    按空格分列然后一个个粘贴?数组公式?VBA编程?

    别想啦,有了Excel 2016,分分钟搞定它,看步骤吧。

    步骤1:选中表格中任意单元格,单击【数据】-【从表格】

    步骤2:选中需要拆分的列,单击【拆分列】-【按分隔符】

    步骤3:选择按空格拆分,单击确定按钮。

    拆分后的样子如下图所示

    步骤4:选中作者所在的多列,单击【转换】-【逆透视列】

    Excel大变魔术,瞬间得到如下图所示的表格

    步骤5:这时只需将没用的列删除即可

    得到想要的表格后,单击【开始】-【关闭并上载】,大功告成

    得到想要的表格

    整个操作过程其实很简单,30秒足以搞定,点击以下gif动态图片即可查看

    Excel是不是比你想象中更强大,这些技巧既简单又实用!

  • ?

    太实用了!Excel VBA常用代码!

    Miriam

    展开

    前两天有两位朋友留言想收集一些VBA的常用代码,今天开始会陆续分享一些!

    记得收藏好哦,因为今后你应用到稍大型Excel VBA程序时,这其中某些代码肯定会用到。

    来看看都是哪些常用代码:

    下面先举一个简单的例子:

    场景再现:在当前的工作表中插入一张e盘中名为1.jpg的图片(长350、高300,距离Excel左侧90、上边框230)

    操作方法:

    第一步,打开vba代码区,输入通用格式【输入 sub 统计()回车即可】,并将名称改为“统计”;

    第二步,输入控制语句(ActiveSheet.Shapes.AddPicture "e:.jpg", True, True, 90, 230, 350, 300);

    第三步,看看结果。

    后面会分享更多关于Excel VBA的知识,欢迎大家留言、讨论!

  • ?

    1个案例教你学会Excel中的VBA

    Shirley

    展开

    可能很多朋友不知道Excel中VBA的用途。那什么是VBA呢?

    一句话概括:在Excel中想实现什么功能,就可以用VBA语言编写一段程序去完成。

    今天通过例子带大家了解Excel中的VBA!

    软件说明:Excel 2010版本

    场景再现:表格中点击按钮,向单元格E1中输入数字 “233”,并且能够实现清除!

    第一步、打开编写VBA代码的窗口

    在Excel表格中编写VBA的窗口叫VBE编辑器,有两种打开的方法。

    在工作表标签上右键 - 查看代码按Alt+F11

    第二步、创建写VBA代码的地方

    有朋友肯定会问:“我没学会编程怎么办?”、“我都没见过代码能行吗?”;别急!我的回复是肯定的!

    在哪编写代码呢?有好几种方式,今天先学最常用的:“插入” - “模块”。新建一个模块用来存放编写的代码;记住:修改模板的名称:我的VBA模板【如下图虚线标注】

    第三步、开始写代码

    新建模板后,在右侧的空白位置就是编写代码的地方。可以执行的VBA代码,结构是这样的:

    Sub 程序名(参数)可以执行任务的代码End Sub

    因为例子中我要进行输入与清除的操作,输入Sub 程序名()然后回车,End Sub就会自动输入;如下图:

    在开始和结束语句之间输入代码,执行在单元格A1中输入数字"233"

    Range("E1") = 123

    备注:在VBA中,Range("单元格地址")来表示单元格。在单元格中输入值,直接用=值 即可(字符串两边要加双引用),如果清空则 =""。

    再编写一段清空代码:

    第四步、测试运行代码

    在编写代码时经常要测试是否正确。测试方式是把光标放在代码行的任意位置【下图中“测试按钮”的位置】,点击运行小按钮进行测试;同样清空代码也一样。

    第五步、点击按钮执行VBA代码

    在Excel中插入的图形、图片、按钮控件都可以执行VBA代码。让它们执行很简单,点击“插入” - “矩形” - “指定宏”

    只需要右键菜单中点击指定宏 - 选取编写的宏名称,选择“输入”,添加输入按钮。

    同样添加清除按钮:

    当然自己可以调整字体的颜色、字体,让其变得更加美观!

    此时,通过VBA设置的输入“233”,并可以点击清除!

    第六步、保存VBA代码

    此时的VBA代码应该是既有输入代码又有清空代码;最后需要保存为“启用宏的工作簿"类型【注意下图中虚线框标注】,VBA代码才能保存下来。

    好了!今天的分享就到这里,是不是感觉VBA也没有想象的那么难?

    赶快转发、关注吧,更多技巧尽在头条号中!

  • ?

    使用Excel-2016你应该知道的小技巧,完美简单实用!

    卢寄风

    展开

    今天分享一个不用函数不用公式也不用VBA,可以直接生成工资条的小技巧,我们来看一个例子。

    将上图工资表生成下图的工资条,如何实现的呢。

    具体操作做步骤:

    1、将第一行复制到7至11行,如图:

    2、对E列进行操作,分别在E2至E6单元格和E7至E11单元格内填充数字1-5,如图:

    3、选中A1到E11区域,点击“数据”选项卡下的“排序”按钮

    4、打开“排序”窗口,“主要关键字”选择(列E),“排序依据”选择“数值”,“次序”选择升序

    点击确定后,回到这个结果,如下图:

    5、删除E列 和11行,这样工资条就做好了。

    其实,关键在于Excel“筛选”功能的运用,只要E列的数据输入正确,就可以生成完美的工资条。

  • ?

    Win10系统下启用Excel2016宏命令的方法

    映容

    展开

    因为Win10系统安全性比较高,原来在XP轻松运行的Excel宏都被禁用,显示结果都是未注册,没有权限无法加载之类的警告。

    这个问题影响了很多程序软件功能的调用,连CATIA都无法启用自带的Excel宏。小编研究了半天才弄通了关键。首先打开系统盘以下目录,C:\Program Files (x86)\Common Files\Microsoft Shared\VBA

    打开VBA6文件夹,将里面的文件VBE6EXT.OLB复制到C:\Program Files\Common Files\microsoft shared下的VBA7.1文件夹里面。

    有些同学不知道这个简便方法,还要到网上专门下载VBE6EXT.OLB文件。其实Program Files (x86)本身就有的。直接复制过去即可。另外Excel2016一定要以管理员身份运行。

    一般接下来还要设置下宏安全性:

    在弹出的窗口中依次点击“信任中心”-“信任中心设置”-“宏设置”-“启用所有宏”即可。

excel 2016 vba

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP