大家好,今日我们继续讲解数组与字典解决方案,今日讲解第47讲:利用字典和数组,实现按指定规则的排序。随着字典讲解的深入,我们发现字典真的很神奇,在VBA代码中,给人以十分清爽的感觉,在这套数组与字典解决方案中,我会尽可能的把经常用到的实例多多讲解给大家,让大家对于字典的理解更加深入.虽然这块内容利用其它方案都可以实现,但是字典确实能大大简化我们的代码.让我们对于VBA的理解更深入.今日实例是实现按
问题提出:实际上自己感觉用处不是很大,非得需要将工作表进行排序吗?只要能访问不就可以吗?但既然提出来了,就看看吧,而且里面有个算法对我很有价值,就是排序算法,以前遇到需要排序的要求,心里就害怕,这次就借着这个问题,把它解决吧.Sub 工作表按升序排序()     Dim i As Integer, j As Integer, n As Integer  &n
转载 2024-03-22 21:07:12
241阅读
主程序:Sub mymain() Dim MainArr, t Application.ScreenUpdating = False t = timer With ThisWorkbook.Worksheets("排序") MainArr = .Range("a2: a" & Cells(Rows.Count, "a").End(xlUp).
工作表内单元格数据的排序,使用Range.Sort 命令。但是后面的参数较多,新人一般采用录制宏时出来一大堆,也不知道该如何编辑。因此,我开这一个帖子,给新人普及一下:Range("待排序数据区域").Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3,        Header, O
转载 2024-02-13 13:26:19
266阅读
Hi ,大家好,上一期介绍了VBA中集合的简单应用,了解到集合相对于数组,更适用于事先无法预知要保存多少数据项的情况,因为集合可以任意的添加删除数据项,没有数据项个数限制。但是我们也可以看到,集合在访问数据项的时候也有一些限制,常用的是通过索引号来访问数据项,但是如果这中间发生了数据项的删除或者添加,则索引号所对应的数据项就会发生变化,如果有些情况下没有注意到这种变化,则获取到的数据项可能不是预先
未知的领域很广、风景很美,不要蜷缩在一小块自认为天堂的世界里。待到暮年时安于自欺欺人,要努力提高自己,学习是一件很辛苦的事。要有一颗充满生机的心,把握现在,这才是进取。机会总在等待中出现,越是有意义的事情,困难会越多。愿力决定始终,智慧决定成败。寻找心灵的平静;不管遇到什么,都是风景。怀善心,做善事。看淡纷争,看轻得失。茶,满也好,少也好,不要计较;浓也好,淡也好,其中自有值得品的味
大家好,今日我们继续讲解VBA数组与字典解决方案,今日讲解第50讲:结合数组,在VBA中实现冒泡排序。对于排序,我们并不陌生,在之前的章节用也有介绍, 如在49讲中我们利用下面的代码实现了三重排序:Range("A1:C" & Myrows).Sort Key1:=Range("a1"), Order1:=xlAscending, Key2:=Range( _ "b1"),
要做一个复盘的好学生
原创 2021-06-18 14:34:52
2648阅读
开放源代码的必要性 在介绍编程语言之前,先说说开放源代码的必要性。现在,在软件生产领域存在巨大的智利浪费,大家把大量的精力用在编写别人已经实现的程序代码上。看看,文本编辑器有多少,看看ftp程序有多少,看看字处理程序有多少,这些程序虽然有差别,但主要的功能都是一样的。要实现个性化的功能,在已有的软件基础上修改会节省多少时间呀!而每个程序各编一套,又浪费多少时间?如果,没有这些重复的工作量,世
转载 2024-06-25 14:25:08
31阅读
第1部分 单元格选择技巧与选区统计第1章 单元格与区域选择技巧实例1选择A列最后一个非空单元格Sub 选择A列最后一个非空单元格() Range("a1048576").End(xlUp).Select End Sub讲解 (1)Range():返回一个Range对象,它代表一个单元格或单元格区域。区域的大小由其参数决定。(2)Range(“a1048576”):Excel 2003
转载 2024-05-31 07:46:29
510阅读
VBA 类模块学习1  问题背景2  创建自己的对象3  属性过程4  创建集合4.1  `Collection` 对象创建集合4.2   在类模块中创建集合5  封装 本文中,大部分内容源于书籍《Excel 2007 VBA 参考大全》,ISBN:9787115311696。感谢原书第一作者及译者。 工作表模块、图表工作表模块、工作簿模块和用户窗体模块都是类模块。不过,这些模块都是特定类型的类
转载 2024-02-16 20:18:09
155阅读
顾名思义,所谓排序算法(Sorting Algorithm)就是将一组数据按某种特定的顺序重新排列组织。
原创 2022-11-08 20:22:47
585阅读
Sub 宏1() ' ' 宏1 宏 ' ' Range("E3:E33").Select Selection.Copy tyear = 2010 tmonth = 1 For startIndex = 3 To 2701 Step 31 '2436 Range("E" & startIndex).Se...
VBA
转载 2018-03-22 03:26:00
643阅读
2评论
VB控件和对象:ScriptControl 控件3. ScriptControl 控件    Microsoft Script Control 控件可以创建运行任何 ActiveX(R) scripting 引擎,例如 Microsoft(R) Visual Basic (R) Scripting Edition 或Microsoft(R) JScript(TM) 的
转载 2023-08-21 17:25:01
782阅读
 range().resize(x,y) 方法语法Range(i,j).resize(行数,列数)   resize(x,y) 表示的区域,x是行,往下。Y是列,往右。重新定位出来的区域 resize() 得出的是一个区域范围!!!因为X 是表示行数,必须大于0因为Y是表示列数,必须大于0resize(x,y)可以为负数吗?比如 resize(-1
转载 2024-06-09 08:57:37
788阅读
大家好,我是东哥。经常给大家推荐好用的数据分析工具,也收到了铁子们的各种好评。这次也不例外,我要再推荐一个,而且是个爆款神器。Excel和Jupyter Notebok都是我每天必用的工具,而且两个工具经常协同工作,一直以来工作效率也还算不错。但说实在,毕竟是两个工具,使用的时候肯定会有一些切换的成本。最近,在逛GitHub突然发现了一款神器「PyXLL-Jupyter」,它可以完美将Jupyte
hi,大家好!天气渐渐放凉,大家最近都在忙点啥呢?今天我们来讲点啥呢?今天给大家分享一个排序示例。相应大家在平时开发中,都会用到连续窗体,但我们在用连续窗体时,如果遇到排序问题,对于连续窗体就比较麻烦,不像数据表窗体,可以直接下拉选择排序,OK,那我们来看看怎么实现。01、表设计首先,我们还是一样,先来创建一张表,当然如果你有现成的表,可以跳过这一步。表创建后,我们还需要添加一些测试数据。02、创
原创 精选 2024-10-21 15:18:01
275阅读
1. 在工具栏中将"开发工具"菜单调出来,点击VBA script或者快捷键ALT+F11, 打开编程窗口 1. 下拉列表:选中要处理的单元格 数据 数据验证(数据有效性) 序列 输入示例:1,2,3 1. function和sub最大区别在两点 1.function可以返回值,sub则不可以返回值
转载 2017-05-24 08:47:00
923阅读
2评论
ThisWorkbook 返回一个 Workbook 对象,该对象代表当前宏代码运行的工作簿 Screenupdating Application的一个属性,是Boolean 数据类型,意思是屏幕窗口刷新是否打开,Application.Screenupdating=False,意思是屏幕窗口刷新关闭,可以加快程序运行,加在程序开头;Application.Screenupdating=True,意思是屏幕窗口刷新打开,加在程序结尾。以上两句应在程序调试好之后再添加。 VBA程序一般需要在开头结尾加上Screenupdating控制语句,以加快程序运行 Calculation Applica.
转载 2010-04-09 10:13:00
732阅读
2评论
VBA术语这些术语将在很多的模块中使用,因此理解其中的每一个术语都很重要。模块模块是编写代码的区域。如下图中,这是一个新的工作簿,因此没有任何模块。要插入模块,请导航到插入 -> 模块。当插入模块之后,就会有一个名称为“模块1”的模块被创建了。插入模块完成之后,就可以在模块中编写VBA代码,代码写在一个过程(Sub)中。 一个过程/子过程是一系列的VBA语句,指示要做什么工作。程序/过程程序
转载 2024-04-18 14:21:55
401阅读
  • 1
  • 2
  • 3
  • 4
  • 5