【题目】 给定一个有序的链表,删除所有有重复数字的节点,只保留原始列表中唯一的数字。...当pre->next == cur时,说明cur->val是唯一元素,不用删除,否则pre->next = cur->next。
标签:VBA,用户窗体 这是一个很好的示例,充分展示了VBA和用户窗体控件编程技术。 示例中有一个数据工作表Sheet1,包含有一个列表,每一行的单元格中都有很多用逗号分隔的数据,如下图1所示。...3.在用户窗体中: (1)左侧列表框列出了工作表Sheet2中的所有唯一项。 (2)在搜索框中输入内容时,会随着输入自动缩减左侧列表框中的内容。...(3)选择左侧列表框中的项后,单击“添加”按钮,将其移至右侧列表框。 (4)单击“执行”会进行筛选操作,并在工作表Sheet1中显示结果。...(5)选择右侧列表框中的项目,单击“移除”按钮,该项目会自动移至左侧列表框。 (6)单击“筛选重置”按钮会重置列表框数据和工作表筛选。...(8)“选择类型”中,选中“选择多项”,则可以在列表框中选择多个项目;选中“选项一项或者按下Shift或Ctrl键选择多项”,则只能选择列表框中的一个项目,要选择多个项目,要按下Shift键或者Ctrl
标签:VBA,列表框,用户界面 有时候,可能你想自动选择列表框中的第一项或者最后一项。例如,当选择列表框所在的工作表时,列表框自动选择第一项,或者选择最后一项。这都可以使用简单的VBA代码轻易实现。...,第二个过程在单击命令按钮后选择列表框中的最后一项。...在第一个过程中,使用一个简单的循环从列表框的底部开始,一直到顶部。...For i = ListBox1.ListCount - 1 To 0 Step -1 等价于 For i = 6 to 0 注意,列表框的列表计数从零(0)开始。...列表框中共有7项,Step -1告诉循环在每次循环迭代中从i减少1。 对于第二个过程,在循环内调用相反的过程。从顶部开始,向下直到底部,然后停止。
情形1:如果从单元格/单元格区域调用VBA代码,那么Application.Caller返回代表该区域的Range对象。...图1 情形2:如果调用者是某控件(例如,下拉菜单、列表框、命令按钮等)或形状,则Application.Caller返回代表调用者名称的字符串。...例如,如果从某个形状/控件调用下面的函数,则它将打印并返回形状/控件的名称。...图2 情形3:如果调用者是VBA过程或函数,则Application.Caller返回错误。 例如,如果在某个过程或函数中调用上面的函数testControl,则它将返回错误。...相关文章:一段代码,显式确定工作表列表框选项状态>>>
标签:VBA 使用功能区“开发工具”选项卡,我们可以在工作表中插入控件,例如,可以插入列表框控件,如下图1所示。...图1 插入列表框控件后,单击右键,选择“设置控件格式”命令,可以选取“选定类型”中的“复选”,从而允许我们同时选取列表框中的多个项目,如下图2所示。...图3 下面是在mrexcel.com中看到的一段代码,通过在工作表中项目列表右侧的列中显示用户的选择状态来解决此问题,如下图4所示。...只需如上图2所示设置列表框(无需包含单元格链接),然后右键单击该列表框并指定下面的宏。...图4 宏代码如下: '获取多选列表框中的选定项,并将其列在工作表中原始项列表的右侧列 Sub getSelections() Dim V As Variant Dim V2 As Variant
【问题标题】:Excel VBA SQL Join Syntax ErrorExcel VBA SQL 连接语法错误 【发布时间】:2015-09-24 00:08:56 【问题描述】: 我正在编写一个允许用户从列表框中选择客户的子程序...将其粘贴到空白的 Access 查询中并进行修改,直到它起作用,然后将更改传输回字符串构造并重新测试. 【解决方案1】: 我喜欢使用带有空格分隔符的数组和 Join 方法。...在 Access 中创建一个查询并查看它生成的 SQL。它可能不是最漂亮的 SQL,但它可以帮助您确定问题所在。...【讨论】: 您不需要在 Access 中执行此操作,并且此代码仍然无法工作,因为它没有解决我没有时间制定的许多其他问题完整的答案。 【解决方案3】: 您遇到的问题是您尝试执行的连接没有意义。...最终代码应如下所示(从输出中删除客户信息): SQL = "SELECT O.OrderDate, O.OrderID" _ & ", SUM(L.QuantityOrdered * L.QuotedPrice
(10) '下标从0开始' ReDim [Preserve] arr(1 To j) '数组中不能直接定义变量。...表,区域等使用vba中的写法 Sub test() '跳过出错 On Error Resume Next Range("A1") = Application.WorksheetFunction.Sum...'在VBA.Strings中,按符号分割字符串,返回数组 'Range("A1") = Split(Range("A1"),"-")(0) With Sheet1 'DateSerial...RemoveItem 移除一个项目 Clear ListBox (列表框) ColumnCount 列,分为几列,list(2,3)变二维列表 List 数据源列表,数组...ListBox1.Selected(i) = True ‘查看i项是否被选中,被选中为true AddItem 增加一个下拉项目 RemoveItem 移除一个项目 Clear
excelperfect 一些情形下,我们需要在工作表中使用ActiveX控件,这通常使用VBA来实现。...要使用VBA从控件工具箱(ActiveX控件)中添加控件,可以使用OLEObjects集合的Add方法。...Forms.Checkbox.1(复选框) Forms.Combobox.1(组合框) Forms.Optionbutton.1(选项按钮) Forms.Textbox.1(文本框) Forms.Listbox.1(列表框...,因为本示例已知道工作表中无其他控件,所以直接删除,如果无法判断是否有其他控件而只需删除复选框,可以加上一个条件判断语句: If TypeName(oCheck.Object)=”CheckBox” Then...这样,仅删除复选框。
Datalog第三个选项为文件管理,即选择是否周期性删除存储的数据库文件,可选最大多长时间后删除文件。...4)、使用RSViewSE软件的事件功能触发Datalog记录历史数据 启动事件:事件配置完成后,需要在RSViewSE项目的(HMI 服务器属性)对话框中,点击 Components(组件)选项卡,...MySQL,PostgreSQL,Interbase,Firebird,Informix,Oracle,MS SQL 7,Foxpro,Access,ADO,Sybase,FrontBase,DB2等。...在放个按钮用于触发查询的过程 2、编写脚本,从Access数据库读取数据 因为从Access和从SQL Server里读取数据时SQL 语句会稍有差异,我们需要单独分开说。...使用SQL语句查询是需要注意日期格式,在查询Access中的日期时间时在两边加上#符号,如#2020/03/22 12:00:00#。另外,在Access中通配符需要注意。
学习Excel技术,关注微信公众号: excelperfect 在上篇文章《VBA专题10-12:使用VBA操控Excel界面之在功能区中添加自定义组合框控件》中,我们详细介绍了如何在自定义功能区中添加组合框...然而,本文介绍的下拉控件仅允许用户从控件下拉项中进行选择。 正如前面的文章中讲解的,在功能区中添加下拉控件的步骤都是相同的。...新建一个启用宏的工作簿并保存,关闭该工作簿,然后在CustomUI Editor中打开该工作簿,输入下面的XML代码: ?...重新打开该工作簿后,在“Custom”选项卡中显示了含有下拉列表框的组,如下图1所示。 ?...图2 说明:本专题系列大部分内容学习整理自《Dissectand Learn Excel VBA in 24 Hours:Changingworkbook appearance》,仅供学习研究。
在VBA中,有一些用于存储数据的对象,例如字典、集合、数组、ActiveX组合框、ActiveX列表框、用户窗体组合框、用户窗体列表框、ArrayList等,SortedList也是其中的一种,它是一个集合对象...可以使用SortedList存储来自多个源的数据,并对RAM中的元素进行操作。可以使用RAM代替Excel工作表、Word文档、PowerPoint演示文稿中的数据操作。...SortedList不是常规VBA库中的元素,它是System.Collections库的一部分,可以......CreateObject("System.Collections.SortedList") With sl .Add "完美Excel","excelperfect" .Add "1", "MS...当元素添加到SortedList中时会立即被排序。
少年时期:从秘书学徒到被编码吸引 和大多数青少年一样,我非常喜欢玩电脑。在word里面写我和朋友的故事,在excel中进行各种计算,在MS Paint中画画,玩游戏。...结果真的就实现了——MS VBA for Excel FTW,真是太令人兴奋了。 工作期间,我偶然发现一系列的电脑杂志:Delphi编程。它们开始教我编程和GUI基础开发。...我写了几个Delphi小程序——因为在MS Excel中做小型计算真的好无聊。6个月的系列教程结束后,我参加了一个开发者比赛:编写一个多标签编辑器。...我要是有一份正规教育就能从事这方面的工作…… 我和好友一起报了一个夜校,选择了MS Access数据库这门课——你可能已经猜到,我用MS VBA来自动化MS Access。...通过同学关系,我了解了SAP,而他也是SAP内部项目的项目经理。 我获得了一份项目助理的工作,但我仍然或多或少的是一个秘书。
前言 python中通常我们写程序,显示结果和操作都是在终端区,如果要想实现一个有显示界面的程序那该怎样实现呢?...本节课将要学习Listbox窗口部件,Listbox是列表框的意思,那什么时候该用Listbox部件呢?列表框用于从一组文本项中进行选择。根据列表框的配置方式,用户可以从列表中选择一个或多个项。...删除值 删除使用delete(first,last)方法 代码: from tkinter import *import tkinter.messagebox#创建一个主窗口root = Tk()# 创建...它们是 SINGLE (只有一个选项)、 BROWSE (相同,但是可以用鼠标移动选项)、 MULTIPLE (可以选择多个项目,一次点击一个)或 EXTENDED (可以选择多个范围的项目,使用 Shift...使用 MULTIPLE 来获得“检查表”行为,当用户通常只选择一个项目,但有时希望选择一个或多个项目范围时使用 EXTENDED。
/ms/accessVisualBasic与Access数据库紧密集成,Access数据库通常由以下几部分组成。...参考道类型库1、从“工程”菜单中选择“引用”菜单项;2、在参照列表框中选择“微软道3.51对象库”项。...3、最后“确定”即可设置DAO数据类型变量DAO数据类型变量分为两种类型:1、数据库ˌ资料库变量对应于Access数据库,通常在模块中定义为公共全局变量:PublicAccessDBFAsDatabase...定义数据库对象实例访问DBF2、记录集变量对应Access数据库中的一个表,可以定义为整体变量,也可以定义为局部变量,还可以作为函数参数传递:DimthePrintTableAsRecordSet定义一个表对象实例...PrintTableOpen DAO数据类型1、打开入口的方法通常,可以设置一个特殊的公共函数来打开Access数据库,该函数启动窗体的PrivateSubForm_load(在过程中调用,函数定义格式如下
item(int row) 返回给定行索引的项目。 itemAt(const QPoint &p) 返回给定坐标处的项目。 takeItem(int row) 从列表中删除并返回给定行索引的项目。...clear() 删除列表中的所有项目。 clearSelection() 取消选择所有项目。...removeItemWidget(QListWidgetItem *item) 从列表中删除一个项目并释放与之关联的任何小部件。...如下槽函数 on_pushButton_delete_clicked 的核心功能是实现一个“删除选中项”按钮,即删除列表框中当前选中的项。...该槽函数的作用是删除列表框中当前选中的项,同时释放相应的内存空间。
今天给大家介绍的是一款名叫EvilClippy的开源工具,EvilClippy是一款专用于创建恶意MS Office测试文档的跨平台安全工具,它可以隐藏VBA宏和VBA代码,并且可以对宏代码进行混淆处理以增加宏分析工具的分析难度...功能介绍 1、 在GUI编辑器中隐藏VBA宏; 2、 混淆安全分析工具; 3、 VBA Stomping; 4、 引入VBA P-Code伪编码; 5、 设置远程VBA项目锁定保护机制; 6、 通过HTTP...技术分析 EvilClippy使用了OpenMCDF库来修改MS Office的CFBF文件,并利用了MS-OVBA规范和特性。...工具安装 注:跨平台编译代码可以在该项目的releases页面下获取。...VBA Stomp模板; EvilClippy.exe -s fakecode.vba -w 8080 macrofile.dot 设置远程VBA项目锁定保护 EvilClippy.exe -u macrofile.doc
从本期开始,打算穿插着写几个连载,从最接近大家日常业务的Office开始。因为本身是在日企工作,所以对Excel有着特别的情感,索性就决定先从Excel开始吧。...而Excel呀,Word、Access之类的Office软件基本都是预装在PC或平板电脑上的,不需要再单独安装。...VBA同Visual Basic(VB.NET)的区别是,VBA是运行在Excel,Word或Access等Office程序上的编程语言,它是从VB基础上改良的,可以直接作为Excel,Word或Access...图25 Excel 宏的删除 在本篇的最后,我们看一下宏的删除方法。 首先,点击[开发工具]选项卡内的[宏]。在[宏]界面中,选择想要删除的宏,单击删除即可(图26)。...图26 在VBE中也可以直接删除宏。直接选择想删除的部分,按下键盘的[Delete]键,就可以了。(图27)。 图27 下一篇,Excel VBA的基础知识 本篇内容就到此为止。
标签:Word VBA 有多种方法可以使我们在创建、打开或关闭Word文档时自动运行宏。...此时,在右侧代码窗口顶部,会看到两个列表框。单击左侧下拉列表,将其从“(通用)”更改为“Document”,VBA将自动创建一个名为Document_New()的过程。...如果单击右侧下拉列表,将看到很多可供选择的事件,其中包含三个事件:New、Open和Close,可以从列表中选择“Close”或“Open”以插入Document_Close()或Document_Open...不过,存储在加载项(存储在Word启动目录中的.dotm文件)中的AutoNew、AutoOpen和AutoClose宏将无法全局运行。...但是,在Normal.dotm中存储宏存在一些问题,因此如果想避免这种情况,最好使用应用程序事件。存储在全局加载项中的应用程序事件确实具有全局行为。一些应用程序事件与文档相关。
Listbox控件列表框,即 Listbox。在使用 Tkinter 进行 GUI 编程的过程中,如果需要用户自己进行选择时就可以使用列表框控件。...列表框中的选项可以是多个条目,也可以是单个唯一条目,但常用于多个条目。...2.在 StringVar 类型的变量中,用空格分隔每个项目,例如 var.set("c c++ java python")selectbackground指定当某个项目被选中的时候背景颜色,默认值由系统指定...,点击删除按钮,会删除选项bt = Button(win,text='删除',command = lambda x = listbox1:x.delete(ACTIVE))# 将按钮放置在底部bt.pack...(side = BOTTOM)# 显示窗口win.mainloop()程序运行结果,如下所示:图片StringVar() 添加列表选项通过 StringVar() 方法动态地获取列表框中的选项,示例代码如下
---- VBE编辑器及VBA代码输入和调试的基本知识 在学习这些实例的过程中,最好自已动手将它们输入到VBE编辑器中调试运行,来查看它们的结果。...此外,您也可以在“工程资源管理器”中单击鼠标右键,从弹出的菜单中选择“插入——用户窗体/模块/类模块”来实现上面的操作。在获取相应的代码模块窗口后,就可以输入VBA代码了。...也可以选择菜单“文件——导出文件”或在相应的模块上单击鼠标右键后,从弹出的菜单中选择“导出文件”,将移除的模块保存在相应的文件夹中。这样,以后可以对其进行导入,从而加以利用。...“类”和“成员”列表框中显示相应的对象和方法、属性成员列表,在成员列表中相应的项目上按F1键即会出现详细的帮助信息。...编程宝典 (2)Excel 2003与VBA编程从入门到精通(中文版) (3)巧学巧用Excel 2003 VBA与宏(中文版) (4)ExcelVBA应用程序专业设计实用指南 (5)ExcelVBA
领取专属 10元无门槛券
手把手带您无忧上云