vab虚拟货币

频道:百科知识 日期: 浏览:0

Bitget下载

注册下载Bitget下载,邀请好友,即有机会赢取 3,000 USDT

APP下载   官网注册

遇到的实际问题:

这个问题,是在我遇到一些明细表的时候,经常会将不需要的字段隐藏,或者组合起来,方便查看重要数据,但是每次都要手动去右键——>隐藏这个操作,而且需要隐藏的列比较多,还是分开的,特别麻烦所以我写了这个代码,来自动完成。

我的这些代码均可结合其他的常用代码使用,此篇我就介绍一下【_3】和【_1】的结合使用。

图示问题:

VBA常用代码_3、多列自动建立组合分级显示

列可多了!这还不是最大的那一个!

自动组合分级代码

Sub 自动分级组合()Dim w1, sh1, folder, address, address2, i, i2, i3, ed, ed1, ed2, ed3, ed4, arr1, arr2, e, f    Set ed1 = Range("A" & Rows.Count).End(xlUp)    ed = ed1.Row    ed2 = Range("A1").End(xlToRight).Column    For i = 1 To ed2    Arr = Array("公司名称 ", "账薄 ", "参考段代码 ", "参考段说明 ", "往来代码 ", "往来说明 ", "备用段1 ", _        "备用段1描述 ", "备用段2 ", "备用段2描述 ", "现金流附表项目", "凭证来源 ", "凭证类别 ", "批名 ", _        "日记帐名称 ", "创建日期 ", "行号 ", "币种 ", "本位币金额借项 ", "本位币金额贷项 ", _        "原币金额借项 ", "原币金额贷项 ", "过帐状态 ", "冲销期间 ", "冲销状态")    'array括号里还可以增加其他需要组合的内容    If IsError(Application.Match(Cells(1, i), Arr, 0)) Then1    Else        Columns(i).Group    End If    Next    ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1    Cells(1, 1).SelectEnd Sub

说明一下:

  • 代码定义了很多变量,因为这串代码还有其他的东西,但是没有放上来全,大家可以不用管Dim后的变量,代码正常使用即可
  • 【If IsError(Application.Match(Cells(1, i), Arr, 0)) Then 1】,这个1是用来站位的,大家知道用法即可哈,不用理语法。
  • 【Arr = Array(...)】这个括号里的可以自己重新填一下,修改引号内的内容即可,这里本来可以作为动态数组,由于需要分享出来,所以就改为了手动输入的,方便大家自定义。

代码作用图示:

VBA常用代码_3、多列自动建立组合分级显示

我们能看到,这里分级组合的功能已经自动完成了!

但是这个字体还是宋体12号,看起来不是特别好看,那我们可以在点击一下【_1】中的我们补充的自动文本整理功能,将文本整理一下,看起来就舒服多了。

如图:

VBA常用代码_3、多列自动建立组合分级显示

代码拼接

我们可以把【_1】和【_3】代码拼接一下,实现一步完成操作。

代码如下:

Sub 组合并调整格式()Dim w1, sh1, folder, address, address2, i, i2, i3, ed, ed1, ed2, ed3, ed4, arr1, arr2, e, f  Set ed1 = Range("A" & Rows.Count).End(xlUp)    ed = ed1.Row    ed2 = Range("A1").End(xlToRight).Column    For i = 1 To ed2    Arr = Array("公司名称 ", "账薄 ", "参考段代码 ", "参考段说明 ", "往来代码 ", "往来说明 ", "备用段1 ", _        "备用段1描述 ", "备用段2 ", "备用段2描述 ", "现金流附表项目", "凭证来源 ", "凭证类别 ", "批名 ", _        "日记帐名称 ", "创建日期 ", "行号 ", "币种 ", "本位币金额借项 ", "本位币金额贷项 ", _        "原币金额借项 ", "原币金额贷项 ", "过帐状态 ", "冲销期间 ", "冲销状态")    'array括号里还可以增加其他需要组合的内容    If IsError(Application.Match(Cells(1, i), Arr, 0)) Then1    Else        Columns(i).Group    End If    Next    ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1    '-----------------------------------------------------------------------以上为自动组合代码    ActiveSheet.UsedRange.Select    With Selection.Font        .Name = "微软雅黑"        .Size = 9        .Strikethrough = False        .Superscript = False        .Subscript = False        .OutlineFont = False        .Shadow = False        .Underline = xlUnderlineStyleNone        .TintAndShade = 0        .ThemeFont = xlThemeFontNone    End With    Rows("1:1").Select    Selection.Font.Bold = True    If ActiveSheet.AutoFilterMode Then2    Else        Rows("1:1").AutoFilter    End If    '-----------------------------------------------------------------------以上为文本整理代码    Cells(1, 1).SelectExcel.Application.ScreenUpdating = tureEnd Sub

说明一下:

  • 在组合的时候需要注意是否两串代码中有重复的变量,有的话,需要调整重复的变量名称(即dim后边的字母或标识)

合并后代码使用的动图如下:

VBA常用代码_3、多列自动建立组合分级显示

稍微总结一下:

  • 实现自动的操作:字体调整、字号调整、首行加筛选、首行加粗、建立组合、显示为1级组合级别,共7个鼠标点击动作。Ps个人觉得还是挺方便的,不用来回点来点去,点一下,整个表看起来都舒服多了!
  • 代码是可以拼接的,但是拼接时注意dim后变量是否重复使用了,重复使用的要修改一下

来点个人对VBA的看法

本人财务专业并在财务分析和财务BP搬砖3年,VBA这个我们做到了解基本用法,拿着别人的会用,已经基本足够应付工作了。举个例子,我们会用电脑,但是我们并不了解电脑的生产过程,也不用了解它怎么生产的,我们知道它怎么用就行了。

当然,如果和我一样,有兴趣的可以加深对它的了解,但是也不建议非常系统地学,我知道有大部分同学是从VAB什么时候产生开始学起的。其实我们以实用性为出发点,带着问题去学是最容易也是最快上手的。

比如我觉得每次都要手动点击组合这次演示的文本,效率好像有点低,然后就写串代码出来,让它来解决就行了。实在不会写,再去搜索看看别人的代码及其用法,有没有更简单的方法解决。

结束!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 931614094@qq.com 举报,一经查实,本站将立刻删除。

本文地址: http://www.lyw520.com/baikezhishi/1622.html
文章来源: 小美
vab虚拟货币文档下载: PDF DOC TXT