excel2010 vba编程编程VBA的问题

Excel 2003 VBA编程参考 - 国际海员 - 博客频道 - CSDN.NET 7456人阅读 Excel 2003 VBA编程参考 关于作者Paul KimmelPaul Kimmel于1990年创立了Software Conceptions公司,并从那时开始设计和创建软件以及编写计算机图书。Paul Kimmel是几本关于VBA、VB、VB.NET、C#、Delphi和C++书籍的作者。Paul也是的VB Today栏目所创办的双月刊专栏作家,是一些杂志和在线刊物(包括)的经常投稿人。如果您要设计和创建软件,您可以通过与他联系。Stephen BullenStephen Bullen以爱尔兰的Carlow和英国的London为基地。他自1997年起就开始运营自已的公司(Bussiness Modelling Solutions公司),专注于Excel开发和咨询,并且已经为一些世界上最大的公司工作过。他的公司网站包含了他工作的大量的例子,包括扩充Excel功能的工具和实用程序,以及一些Excel开发技术示例。Stephen Bullen花费了很多业余时间在CompuServe Excel讨论区和Microsoft的互联网新闻组中回答问题来帮助其他Excel用户。由于认可他所作出的贡献和知识,Microsoft已经从1996年开始每年都授予他MVP(最有价值专家)称号。Stephen编写了Excel 2000和Excel 2002 VBA中后面几章的大部分内容。本书由Paul Kimmel进行了适当的更新,Stephen没有直接参与本版本的编辑。John GreenJohn Green居住在澳大利亚的悉尼,专门从事Excel和Access方面的独立咨询。他有30年计算机方面的经验,拥有一个化学工程学位和MBA,汲取了多种不同的教育背景。他在澳大利亚和海外进行软件应用程序和操作系统方面的培训课程。Microsoft已经从1995年开始每年授予他MVP称号。John是Excel 2000和Excel 2002 VBA编程参考的主要作者,该书由Paul Kimmel进行了适当的更新,John没有直接参与本版本的编辑。Rob BoveyRob Bovey是一个专门从事于Microsoft Office、Visual Basic和SQL Server应用程序方面的软件开发者。他是自定义应用程序开发厂商的创始者和领头人。Rob为Excel开发了一些加载宏并被Microsoft发布,他也是Microsoft Excel 97开发者工具的合著者。Microsoft已经从1995年开始每年授予他MVP称号。Rob编写了Excel 2002 VBA编程参考中的Data Access with ADO一章,没有直接参与本版本的编辑。Robert RosenbergRobert Rosenberg经营他自已的咨询业务,专门提供Microsoft Office方面的自定义解决方案和高级培训。他的客户包括在娱乐、金融和法律领域的财富五百强公司。作为Microsoft在Excel方面的MVP,他也代表Microsoft为用户在他们的互联网新闻组上不断地提供高级在线支持。Robert负责更新了本书2002版中的Excel目录和Office索引,包括为已有的VBA对象更新了示例代码和列表,同时也列表描述了新的对象以及它们的方法、属性和/或参数。Brain Patterson (执笔者)Brain Patterson目前为Illinois Mutual Life工作,作为一名软件开发协调员,通常处理在WinForms方面的C#或者公司的互联网站。Brain自1994年起已经为不同的出版社进行过写作,已合写过几本.NET相关的书籍,包括&转移到Visual Basic.NET&和&使用VB.NET进行.NET企业开发&。您通常能在MSDN新闻组中的找到他的贴子,您也可以通过电子邮件与他联系。 介绍Excel于1985年在Macintosh上初次登场,从此以后,在Mac环境中它从未失去作为最流行电子表格应用程序的地位。在1987年,Excel也被转移到PC上,运行在Windows环境中,它花费了好多年去超越当时在计算历史中最成功的软件系统之一的Lotus 1-2-3。在1981年IBM PC发行之前,有一些成功的电子表格应用程序,它们是VisiCalc、Quattro Pro和Multiplan。最早是VisiCalc,但它很早就失败了。Multiplan是Microsoft Excel的前身,使用R1C1单元格地址,该地址方式在现行版本的Excel中仍然是有用的,您可以在选项中选择使用该方式。但是在1982年,Lotus 1-2-3发布之后不久就占居了PC电子表格市场的主导地位。早期的电子表格宏1-2-3是第一个在一个程序包中提供电子表格、图表和数据库功能的电子表格应用程序。然而,它失去成功的主要原因是它的宏功能。据说,1-2-3的开发者创建宏作为产品的一个调试和测试机制,他们仅在最后时刻认识到了宏的潜力,并在事后才将宏的功能包含在他们产品的最终版本中。无论它们的起源如何,宏带给非程序员成为程序员以及自动完成他们的电子表格的简单的方法。它们抓住了机会并且运行,最后,它们在计算机领域拥有了一片独立的空间。最初的1-2-3宏通过敲击相同键执行用户想要执行的相同的任务,因此,创建一个宏是非常简单的,处理从正常的电子表格操作到编程操作没有新内容需要学习。您所需要做的就是记住按什么键并且记录下它们。唯一与传统的编程相似的是八个特别的命令,/ x命令。/ x命令提供了一些基本的创建和分解功能的判断、一种从用户获取输出的方法、以及一种创建菜单的方法。1-2-3宏的一个主要问题是它们的脆弱性。当时,还没有带多工作表的工作簿,宏必须直接编写到它们所支持的电子表格的单元格中,与输出数据和运算保持一致。宏完全受用户的支配,例如,当用户插入或者删除行或列时它们可能会被无意中破坏。宏也完全受编程者控制,一个设计较差的宏在用户企图编辑电子表格数据时可能会相当容易被破坏。尽管存在上述的这些问题,但用户仍非常喜欢他们新发现的编程能力,并且用这种神秘的语言编写了上百万行代码,运用神秘的技术去回避它的一些局限。然而,代码经常设计得很糟糕、几乎总是有很少的文档说明并且很脆弱,可是却经常支持着关键的企业控制系统。XLM宏语言最初的Excel宏语言需要您在一个宏工作表中编写您的宏代码,并将该工作表保存为带.xlm扩展名的文件。用这种方式,保持宏与工作表分隔开。现在,这些宏经常被称作XLM宏或者Excel 4宏,与在Excel 5中所引入的VBA宏语言相区别。XLM宏语言由宏工作表上安排的函数调用所组成。有几百个必要的函数提供了Excel所有的功能,并允许用户有计划的控制。XLM宏语言比1-2-3宏语言更成熟和强大,甚至允许增强由版本2和3的1-2-3程序所创建的电子表格的功能。然而,其所产生的代码不太容易理解。Excel宏语言的灵活性是双面的,它要求有高的编程能力且能开发语言的功能,但这对大多数用户又是一个障碍。在您人工操作Excel和采取编程进行操作的方式之间没有简单的相互关系,并且在掌握XLM语言时会有一条非常不合理的学习曲线。在PC上对Excel认可的另一个障碍是需要Windows操作环境。早期版本的Windows由于限定使用内存而受到限制,并且Windows需要比DOS更多的功率来运行。此外,还要求图形化用户界面,因此,在硬件的价值和操作系统的速度上的权衡带来了问题。Lotus错误的认为Windows只是&悬花一现&,不久将会被OS/2所取代,并没有计划发布1-2-3的Windows版本。Lotus投入了它的主要的精力在1-2-3/G上,这是一个非常漂亮的1-2-3的GUI版本,仅能在OS/2中运行。这一次的&赌注&证明了1-2-3的失败。到Windows继续存在的事实变得清楚的时候,Lotus真正的陷入了困境,因为它的用户大量地转向Excel。1-2-3的Windows版本在1991年第一次发布,其实是DOS在简化GUI架构中的1-2-3版本3。该版本成功的发布拉平了1-2-3和Excel之间的差距,但是要阻止差不多已经全面适应市场的Microsoft Office为时已晚。Excel 5Microsoft作出了一个大胆的决定,通过引入VBA(Visual Basic for Application)作为Office中的通用宏语言来使Office应用程序后台的程序代码一致。发布于1993年的Excel 5是第一个包括了VBA的应用程序,在随后发布的Office版本中它被逐步引入到了其它的Office应用程序中。在Office XP中,Excel、Word、Access、PowerPoint、FrontPage、Visio、Project和Outlook都使用VBA作为它们的宏语言。(Microsoft在他们提供的产品中清楚地表明了他们对VBA地位的承诺。)自从Excel 5发布以来,Excel全面支持XLM和VBA宏语言,并且对XLM的继续支持应该会持续,但在某种程度上来说将会减少,以使用户转换到VBA。VBA是一种面向对象的程序设计语言,与Visual Basic 6.0程序设计语言在结构化和处理对象方面完全相同。在将来的VBA版本中,您将可能看到VBA会与Visual Basic.NET越来越相似。如果您学会了在Excel中使用VBA,您也将知道如何在其它的Office应用程序中使用VBA。Office应用程序的区别在于它们显露给VBA的对象不同。为了给应用程序编程,您需要熟悉它的对象模型(object model)。对象模型是您可以在应用程序中找到的所有对象的层次结构。例如,Excel对象模型告诉我们有一个Application对象,它包含着一个Workbook对象,而该对象又包含着一个Worksheet对象,而Worksheet对象也包含着一个Range对象。&&& 学习VBA比学习XLM宏语言更容易些,并且VBA功能更强大,通常更有效率,允许我们能编写结构良好的代码。我们也会写出一些结构糟糕的代码,但通过下面的一些原理的学习,我们应该能够写出易于理解和维护的代码。Excel 5在模块中编写VBA代码,那时(模块还)是工作簿中的工作表。而工作表、图表工作表和对话框工作表是包含在Excel 5工作簿中的其它类型的工作表。 一个模块事实上只是一个带有一些特定格式字符的字处理文档,能帮助您编写和测试代码。Excel 97在Excel 97中,Microsoft在VBA界面中引入了一些&戏剧般&的变化,同时也对Excel对象模型作出了一些变化。从Excel 97开始,模块在Excel应用程序窗口中是不可见的,并且模块不再是包含在Workbook对象中的对象。模块包含在与工作簿相关联的VBA工程中,只能在Visual Basic编辑器(VBE)窗口查看和编辑。除了标准模块外,也引入了类模块,允许您创建自已的类。引入了命令栏,以取代菜单和工具条,同时,用户窗体取代了对话框工作表。与模块一样,也只能在VBE窗口中编辑用户窗体。一般来说,Excel仍然支持那些被取代了的对象,但隐藏了这些对象并且在帮助系统中没有提供相应的帮助文档。在以前版本的Excel中,诸如按钮等内嵌于工作表中的对象仅能对单个事件作出响应,通常是Click(单击)事件。Excel 97大大地增加了VBA代码能响应的事件的数量,并且通过提供给工作簿对象、工作表对象、图表工作表对象的事件处理程序使这种方式正式化。例如,现在工作簿对象能够响应20种事件,诸如BeforeSave、BeforePrint和BeforeClose。Excel 97也引入了ActiveX控件,能内嵌于工作表和用户窗体中。ActiveX控件能够响应更大范围的事件,诸如GetFocus、MouseMove和DblClick。VBE提供给用户更多的帮助。例如,当我们输入代码时,将会自动弹出显示该对象合适的方法和属性列表,以及函数和方法的变量和参数值。对象浏览器更优于先前的版本,例如它允许我们查找项目并提供综合信息。Microsoft已提供了一个扩展库,使得我们可以编写VBA代码去操纵VBE环境和VBE工程。因此,我们可以编写能够直接使用代码模块和用户窗体的代码。我们也可以设置应用程序缩进编排模块代码,或者从模块中输出代码到文本文件。Excel 97已经以Excel 98的形式被转到了Macintosh上,不幸的是,其中没有包括一些VBE帮助功能,VBE扩展库也没有被引入到Mac中。Excel 2000Excel 2000在VBA编程方面没有引入明显的变化。在Office 2000和Excel 2000的用户界面中作出了大量的改进,并且增强了一些Excel功能,比如数据透视表,并且添加了新的数据透视图功能。网络用户能从Excel 2000中获得更多的好处,特别是以网页保存工作簿的功能。同时,通过新的在线协作功能,也给需要共享信息的用户提供了改进。为VBA用户长期盼望的改进是引入了无模式窗体。以前的Excel仅支持模式对话框,即当模式对话框在屏幕中获取焦点时,如果不关闭该对话框,则不能操作其它的对象。无模式对话框允许用户继续其它的工作,而对话框浮动在工作表之上。例如,无模式对话框能用于装载Excel中编写的应用程序时显示一个临时屏幕,和当一个长的宏运行时显示一个进度条。Excel 2002Excel 2002也引入了一些增值的变化。再一次,Excel将其用户界面而不是程序功能作了主要的改进。Microsoft继续集中改进与网络相关的功能,以使其更容易使用互联网利用和分配数据。能够为VBA编程者有用的新功能包括一个新的Protection对象、SmartTags(智能标签)、RTD(实时数据)和改进了对XML的支持。新的Protection对象能让我们在保护工作表时让用户选择可以控制的功能。例如,我们能决定是否让用户能进行排序、变化单元格格式、或者插入和删除行和列。也有一个新的AllowEditRange对象,我们能使用它指定可以编辑特定单元格区域的用户,以及为了进行编辑单元格操作,他们是否必须使用密码。我们能对不同的单元格区域应用不同的许可组合。SmartTags允许Excel识别输入到单元格中的含有特定意义的数据。例如,Excel 2002能够识别股票市场缩写,比如MSFT为Microsoft Corporation。当Excel碰到像这样的项目时,将显示带有弹出菜单的SmartTag标志。我们能使用该菜单获取相关的信息,比如这家公司最近的股票价格或者是一份总结报告。Microsoft提供了一个工具,允许开发者创建新的SmartTag软件,因此,我们可以看到出现了一类工具,可以运用SmartTags使得数据在整个组织内或者在互联网中都是可用的。RTD允许开发者创建用户能够提取的信息源。一旦您与某个工作表建立了链接,源数据的变化将自动传递。一个常见的用途是在交易过程中实时获取股价的变化,另一个可能的应用就是从科学仪器或者工业进度控制器中记录数据。使用SmartTags,我们将可能开发一个宿主应用程序,使得Excel用户更容易获取和使用动态信息。改进对XML的支持意味着我们能更容易创建遍及互联网和局域网交换数据的应用程序。当我们越来越依赖于这些极速发展的技术时,支持XML就越发重要。Excel 2003网络是现代生活中已普遍存在的一部分,随着网络重要性的日益增加,Microsoft已转移她的注意力在提供互联网功能方面上。因此,这也反映在Excel 2003中所作出的一些变化。除了新的互联网功能外,您还会发现扩展工作簿的功能、提供了分析数据的新函数、更好地支持XML和在互联网上共享工作簿,以及所改进的用户体验。XML,或者eXtensible Markup Language,是一种自扩展的超文本语言。最终,XML是文本和公共的、非专利的工业标准,容易扩展为跨互联网大范围的使用和转移。由于对XML Excel数据更大的支持,和其它使用XML的企业解决方案共享电子表格数据也将会越来越容易。极大的支持包括作为列表管理单元格区域,并且通过添加允许修改、筛选和识别标记这些列表的功能来增强了用户界面体验。您能使用Windows Sharepoint服务更容易共享和更新您的Excel数据。例如,在Excel中对共享在Sharepoint服务中的列表所作的变化会自动在Sharepoint服务中更新。支持离线修改数据,并且当您下次连接时再次更新数据,这使得为繁忙的用户在外界中断时的工作不受影响,例如,在2003年的大停电期间。在Excel 2003中,添加了一组新的功能强大的统计函数,还有能够同时比较工作簿、拥有大量的参考信息,以及支持像Tablet PC一样的无线设备连接,这都将给您和您的用户提供更丰富的用户体验。本书的内容本书完全面向想将VBA语言功能利用在他们的Excel应用程序中的Excel用户。在这里,VBA语言仅局限于Excel范围内,而不作为一种通用的应用程序设计语言。本书分三部分:□&程序设计□&Excel的高级功能□&有利于在线信息共享的新功能同时,在附录A、B和C中包括了全面且更新了的对象模型参考。本书的内容已经被重新组织,移除了几乎所有的编程信息。此外,添加了一些新的章节,着重强调了面向对象编程、错误处理和编写强健的代码等方面的内容。在这些章节中,您将会学到各方面的内容,包括概括性的知识、界面、错误处理和调试、编写加载宏、使用Windows API编程、以及处理国际间(兼容性)问题。本书的第二部分为Excel用户讲解了新的和高级的功能。这些功能&&如对单元格区域和列表的支持&&使得Excel成为一个高效的产品和编程工具是必不可少的。本书的第三部分介绍了在互联网上共享Excel数据所增加的资源。因为本书主要是一本程序设计者的参考书,所以我们着重强调关于程序设计方面的内容。然而,由于大多数您喜欢的功能进一步得到了改进,因此,我们也用了一些章节对它们的内容进行了更新。版本问题本书最初为Excel 2000而编写,现在已扩展到Excel 2003。与Excel 97相比,Excel对象模型发生了变化,因此本书相对较少的一部分内容适合这三个版本。在我们所讨论的功能中,对以前版本所不支持的功能,我们将清楚地标识出来。使用本书您需要具备的条件在本书中所讨论的几乎每一方面都有示例,并且全部详细地写出了完整的代码,在适当的位置还有一些图形截屏。您所使用的Windows版本是不太重要的,但您必须完全安装了Excel。如果您想偿试涉及到Excel与其它Office应用程序相互交流的章节,您需要完全安装Office。确保您的安装包括了能利用VBE和VBA帮助系统,有可能您在安装过程中会去除这些项目。注意,在第13章和第14章中还需要您安装了VB6,因为这两章讲述了COM加载宏和SmartTags方面的内容。本书的约定为了帮助您更容易阅读,获取更多的知识和重点,我们对本书的编排作了一些约定。&&& 方框里的内容是与该方框周围文字相关的重点知识和需要记住的信息&&& 决窍、建议、技巧和对当前讨论内容的旁白像这样以斜体显示。关于文本样式:□&在介绍时高亮显示重要的词语□&显示键盘组合键如:CtrlA□&在文本中显示文件名、网址和代码如:当前.属性□&用下述两种方式表示代码:●&在代码示例中,用灰色背景高亮显示新的和重要的代码●&没有以灰色背景高亮显示的代码表示在当前内容中不太重要,或者该代码以前已出现过源代码当您使用本书中的代码时,您可以选择手工输入所有的代码,或者利用本书的源代码文件。本书所有的源代码可在中下载。在该网站中,您可以方便地找到本书的书名(通过使用查找框或使用书名列表),并在本书的介绍页面单击下载代码链接获取本书所有的源代码。因为一些书有相同的书名,您可以通过ISBN号更容易地找到它。本书的ISBN是0-764-55660-6。一旦您下载了代码,您可以使用合适的解压工具进行解压缩。另一方面,您可以到Wrox主要的代码下载页面去发现本书中所要用到的代码以及所有其它Wrox出版的图书中的代码。当您发现书中有错误后(勘误)&&我们非常努力地确保书中的文本或代码没有错误。然而,没有一个人是完美的,错误不可避免的会发生。如果您发现我们的书中有错误,比如拼写错误或者错误的代码,我们非常乐意得到您的反馈。发现错误后请及时发送给我们,您可以节省其他读者遇到阻碍所花费的时间,同时您将帮助我们提供更高质量的信息。您也可以找到本书的勘误。首先,打开网站,通过使用查找框或书名列表查找本书的书名。然后,在本书的介绍页面中,点击图书勘误链接。在所打开的页面中,您将会看到已经发送且被Wrox的编辑发表的关于本书的所有勘误。此外,包含每本书勘误链接的完整的书目列表也可以在。如果您不能在本书勘误页中找到您发现的错误,可以到中,将您发现的错误发送给我们。我们将检查您所发送的信息,如果合适的话,我们将此信息发表在本书勘误页中,并在本书下一版本中更正。当您遇到困难或疑惑时&&如果您遇到问题,您可以到一些地方去求助。在Excel方面最好的信息资源是与您一样对Excel有同样爱好的人,您可以在互联网上的一些新闻组中找到他们。试着定位您的阅览器到下列站点,您将会发现愿意帮助和有能力帮助您的人:□&订阅microsoft.public.excel.programming或求助任何新闻组,您能发送您的问题,并且通常在一个小时左右会收到答案。Stephen Bullen和Rob Bovey维护着一些非常有用的网站,在那里您能找到大量的信息和可供下载的免费文件,下面是它们的网址:□&□&另一个由John Walkenbach维护的站点是:□&也能通过下面站点与Wrox直接联系:□&&&下载源代码和提供技术支持□&&&打开ExcelVBA讨论区能通过发送电子邮件直接询问:□&(尽量回复所有的询问,但如果您在其它人之后的话,需要排队。建议您到多个地方发表您的询问,您可以获得更快速的帮助且可选择不同的答复。)其它有用的Microsoft信息资源如下:□&&&最新的新闻和技术支持□&&&关于如何使用Microsoft产品的开发者新闻和好的文章□&知识库、安全信息和其它相关项目的资料如果要与作者和其他人讨论,您可以加入网站中的p2p讨论区。您可以在讨论区上发表与Wrox的图书相关的信息和技术文章、与其他读者和技术专家交流。该讨论区提供了e-mail订阅功能,当您所选择的感兴趣的主题有新贴时,它会发送一份相应内容的邮件到您的邮箱中。Wrox的作者、编辑、其他行业专家、以及读者都将会出现在这些讨论区中。在中,您将会发现有一些不同的讨论区,它们不仅可以帮助您阅读本书,而且还可以帮助您开发自已的应用程序。您可以按下面的步骤加入该讨论区:1、&打开,单击登录链接。2、&阅读使用条款并单击同意。3、&完成加入会员所必须填写的信息,同时您也可以自愿填写一些其他可选信息并单击发送。4、&您将收到一份核实您帐号的电子邮件并完成加入的过程。如果您没有加入P2P,您也能够阅读讨论区中的信息,但不能发表您自已的信息。如果要发表您自已的信息,您必须加入P2P。一旦您加入成为会员后,您就能发表新的信息,也能回复其他用户的贴子。您在任何时间都可以阅读信息。当一个特定的讨论区有新的信息时,如果您想要用电子邮件通知您,可以单击讨论区列表中该讨论区名字的图标来订阅。关于如何使用Wrox P2P的更多信息,请阅读P2P常见问题解答(FAQs),其中包括了讨论区如何运作以及P2P和Wrox图书的一些常见问题的详细说明。为了阅读常见问题解答,请单击任何P2P页面中的FAQ链接。 《Excel 2003 VBA编程参考》英文名:Excel 2003 VBA Programmer's Reference作者:Paul KimmelStephen BullenJohn GreenRob BoveyRobert Rosenberg出版社:Wiley Publishing,Inc. 示例文档见 * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场 访问:339292次 积分:4817 积分:4817 排名:第2423名 原创:97篇 转载:172篇 评论:95条 (1)(1)(7)(2)(4)(9)(3)(5)(2)(7)(1)(7)(1)(4)(1)(2)(1)(3)(1)(3)(1)(7)(7)(3)(7)(4)(2)(1)(3)(6)(4)(12)(51)(86)(2)(3)(8)13-08-08工资录入.rar (11.87 KB, 下载次数: 37) 21:21 上传下载次数: 37 具体问题在附件里,请好心人帮助。谢谢了。 [ 本帖最后由 wf370782 于 22:05 编辑 ] =IF(ISNA(INDEX(INDIRECT(C$1&!D5:D100),MATCH($B2,INDIRECT(C$1&!C... 13-08-08请求高手帮帮我解决附件中的问题。 我要达到的目标:分日期、分甲乙班,根据我的源数据,统计产量。 具体请见附件,谢谢各位了~:loveliness: 为了便于数据的整理,把结果表的表头改动了一下。 公式比较长,主要是把一些0值显示为空白,与数据源的效果一致,美观些。 C4 =IF(INDIRECT('&C$2&'!&ADDRES... 13-08-08用index、INDIRECT都不行啊,请高手赐教。多谢! 比如文件中有两个工作表,一个a,一个b,其中b中要引用a表中第4列、第6行的数据,该用什么函数?如果用indirect必须用“a!d6”,无法实现啊! [ 本帖最后由 blmm 于 12:38 编辑 ] =OFFSET(a!A1,5,3) =INDEX(a!A1:D6,6... 13-08-08如员工信息表,根据表1,显示销售部(技术、生产········)的全部员工,最好以后增加新的员工也自动显示出来 [em01] [em01] 谢谢2位高手:victory: 问一下,为什么我复制了公式,单无法显示有效数据,计算结果有的::( 因为那是数组公式 需要按三键输入。 哦,菜鸟受教了,谢谢 13-08-08附件当中: 汇总表中是每个人的姓名,在前面金源,方恒,大悦城三个表中有每个人一个月当中的各项奖励金额。 我想在汇总表中每个人的姓名后面把前面三个表中相对应的人名下面的合计一行里金额引用过来。 怎么操作?在线等。谢谢。 怎么没人帮帮我呢? B2=SUM(SUMIF(INDIRECT({金源,方恒,大悦城,ECMALL}&!B4:R4),A2... 13-08-08表1中的成本列如何按合同编号取表2中的成本呢?比如合同编号1的成本为100,合同编号2的成本为无。用vlookup好象不行。 见附件 C2=IF(ISERROR(VLOOKUP(A2,Sheet2!$A$1:$B$6,2,0)),,VLOOKUP(A2,Sheet2!$A$1:$B$6,2,0)) 原帖由 fendychen 于 13:07 ... 13-08-08如果工作表名称里面有-怎么进行超链接?我用hyperlink函数,结果引用无效! 含有特殊符号的工作表名称要用单引号'引起来 举个例子A1是A-B 链接到A-B工作表的A1单元格是 =HYPERLINK(#'&A1&'!A1,链接) 搜搜排名 1.excel中的超链接就跟网上的是一样的 不管是文字图片都可以在上面做超链。... 13-08-08Sub lcai() For i = 1 To 10000 lumns(i).RemoveDuplicates Columns:=1, Header:=xlNo Next i End Sub 将10000修改为具体总列数 搜搜排名 1.近万列数据删除每一列里的重复值,请高手帮忙!请高... 13-08-08新建 Microsoft Office Excel 工作表.rar (11.03 KB, 下载次数: 15) 20:07 上传下载次数: 15 各位大侠: 附件excel工作表中中有7张工作薄(表1~表7),工作薄中内容格式相同,且每天均有新增内容。 问题:如何将其这7张工作薄合并到“总表”中体现,且随“... 13-08-08问题描述: 我在一新建文档里面引用文档名叫“1”的EXCEL文档,使用的公式是“=[1]Sheet1!A1“。成功引用。 现在问题是我的“1”的EXCEL文档里面的A1是会变动的,但是在新建文档里面的引用结果不自动更新了。 求怎么样实现让新建文档里面的引用结果随“1”的EXCEL文档里面的A1的变动而自动变化。 会自动更新的呀。。。 lo... 13-08-08 除了通过以上操作方法可以选取区域以外,还有几种特殊的操作方法可以让用户选定一个或 者多个符合特定条件的单元格。 在Excel功能区上依次单击【开始】一【查找和选择】一【转到】,或者按快捷键,在 弹出的【定位】对话框中单击【定位条件】按钮,显示【定位条件】对话框,如图4-31所示。 在此对话框中选择特定的条件,然后单击【确定】按钮,就会... 13-08-08 除了可以在一张工作表中选取某个二维区域外,Excel还允许用户同时在多张工作表上选取三 维的多表区域。如果用户希望在多张工作表的同一个位置内输入相同的数值或者是设置相同的格 式,就可以使用这样的多表区域选取。 要选取多表区域,可在当前工作表上选定某个区域后,再同时选中多张工作表。选定区域后, 当用户在当前工作表中对此多表区域进行输入、编辑... 13-08-08 与上面的这些操作方法相类似,对于不连续区域的选取,也有以下几种适用的方法。 ●选定一个单元格,按键,然后使用鼠标左键单击或者拖拉选择多个单元格或者连续区域,在这种情况下,鼠标最后一次单击的单元格,或者在最后一次拖拉开始之前选定的单元格就是此选定区域的活动单元格。 ●按组合键,可以进入“添加”模式,与上面按键的作用相同o进入添加模式后,再用鼠标选取的单元格或者区域... 13-08-08 用户可以更改当前工作簿中的工作表名称,选定待修改名称的工作表后,有以下几种等效方法可以为工作表重命名。 ●在Excel功能区中单击【开始】选项卡中的【格式】下拉按钮,在其扩展菜单中选择【重命名工作表】命令,如图3-46所示。 ●在工作表标签上单击右键,在弹出的快捷菜单上选择【重命名】命令,如图3-47所示。 ●双击工作表标签。 <... 13-08-08用户也可以选择将当前工作簿中的一个或者多个工作表删除,有以下两种等效方法。 选中要删除的工作表,在Excel功能区中单击【开始】选项卡中的【删除】拆分按钮,在其扩展菜单中选择【删除工作表】命令,如图3-43所示 ●在工作表标签上单击鼠标右键,在弹出的快捷菜单上选择【删除】命令,如图3-44所示。 如果用户删除的工作表中包含数据,则会弹出如图3-45所示的提示对话... 13-08-08通过复制操作,工作表可以在另一个工作簿或者不同工作簿创建副本,工作表还可以通过移 动操作,在同一个工作簿中改变排列顺序,也可以在不同的工作簿间转移。下面介绍两种复制和 移动工作表的方法。 1.菜单操作 有以下两种等效方法可以显示【移动或复制】对话框,如图3-38所示。 ●在工作表标签上单击鼠标右键,在弹出的快捷菜单上选择【移动... 13-08-08 除了选定某个工作表作为当前工作表以外,用户还可以同时选中多个工作表形成“工作组”。在工作组模式下,用户可以方便地同时对多个工作表对象进行复制\删除等操作,也可以进行多数据联动编辑等操作。 有以下几种方式可以同时选定多张工作表形成工作组。 ●在键盘上按住键,同时用鼠标依次单击需要的工作表标签,就可以同时选定多个工作表。 ●如果用户需要选定的工作表为连... 13-08-08 在Excel的操作过程中,始终有一个“当前工作表”作为用户输入和编辑等操作的对象和目标,用户的大部分操作都是在“当前工作表”上得以体现。在工作表标签栏上,¨当前工作表”的标签背景会以反白显示,如图3-35所示的Sheet1。要切换其他工作表为当前工作表,可以直接在目标工作表标签上单击。 如果工作簿内包含工作表较多,标签栏上不一定能够全部显示所有工作表标签,则可以通过单击... 13-08-08 有以下几种等效方式可以在当前工作簿中创建一个新的工作表。 ●在Excel功能区的【开始】选项卡中单击【插入】下拉按钮,在扩展菜单中单击【插入工作表】命令,如图3-32所示。则会在当前工作表之前插入新工作表。 ●在当前工作表标签上单击鼠标右键,在弹出的快捷菜单上选择【插入】,在弹出的【对话框中选中【工作表】,再单击【确定】按钮,如图3-33所示 ●单击工作... 13-08-08 默认情况下,Excel在创建工作簿时,自动包含了名为“Sheetl\“Sheet2”、“Sheet3的3张工作表。用户可以通过设置来改变新建工作簿时所包含的工作表数目o在功能区上依次单击【文件】一【选项】打开【Excel选项】对话框,选择【常规】选项卡,如图3-31所示。 在【包含的工作表数】的微调框内,可以设置新工作簿默认所包含的工作表数目,数值范围为1 --1255,... 13-08-08通过复制操作,工作表可以在另一个工作簿或者不同工作簿创建副本,工作表还可以通过移 动操作,在同一个工作簿中改变排列顺序,也可以在不同的工作簿间转移。下面介绍两种复制和 移动工作表的方法。 1.菜单操作 有以下两种等效方法可以显示【移动或复制】对话框,如图3-38所示。 ●在工作表标签上单击鼠标右键,在弹出的快捷菜单上选择【移动... 13-08-08Public Sub 技巧() Dim myRange As Range Set myRange = Range(1:1,3:3,5:5) myRange.Select Set myRange = Nothing End Sub 日常生活中所说的“表格”,通常是指由许多条横线和竖线交叉而成的一排排格子。在这些线条围成的格子中,填上各种数据就构成了我们日常所用的表,如学生使用的课程表、公司用工使用的人事履历表、工作考勤表等。 Excel作为一个电子表格软件,其最基本的操作形态就是标准的表格——由横线和竖线所构成的格子。在Excel工作表中,由横线所间隔出来的区域被称为“行”(Row),而由竖线分隔出来的区... 13-08-07Public Sub 技巧() Dim myRange As Range Set myRange = Range(A1) '指定任意单元格 If myRange.HasFormula = True Then MsgBox 单元格 & myRange.Address & 内有计算公式。 ... 13-08-07Public Sub 技巧() Dim myRange As Range Dim myChr As Characters Set myRange = Range(A1) '指定任意的单元格区域 Cells.Clear '清除工作表数据 With myRange ... 13-08-07如“中华人民共和国”删掉后3个字变成“中华人民”;“8557”删掉后3个字变成“8”=left(单元格,len(单元格)-3) =MID(A1,1,LEN(A1)-3) =REPLACE(A1,LEN(A1)-2,3,) 搜搜排名 1.如何删除单元格中的最后几个字? [求助] 如何删除单元格中的最后几个... 13-08-07vlookup为何不能使用? 附表中的黄色区域为何不能使用公式计算? B列单元格中有空格 T列数据中有文本型数据 OVER B列姓名后有空格 T列格式是文本,改成常规即可 空格是VLOOKUP 函数中最容易忽略的,请大家一定细心 感谢大侠们的帮忙! 13-08-07我有一个工作表 ,里面有很多个分类,就是一张表里 还有很多副表 ,每天都要跟新数据的,突然有一天 ,我打开,发现里面的一个表没了,我想是不是被我迷糊的时候个删除了,我就从新建了 个名字跟以前一样 系统说 所要重命名的工作表与另一个工作表,被引用的对象程序库或被Visual Baisic引用的工作簿重名, 但我怎么也找不到原来的,这是怎么回是 大... 13-08-07问题请参见附件,谢谢指教! 控件--组合框 是窗体中的组合框,鼠标右选》设置控件格式。 版主,我的要求是在组别栏内选择A组时,组员名单内会相应的出现A组成员的名单。当选B组时,也会相应的出现B组成员的名单。 中间的相关连接问题该如何解决? 可以用数据有效性来实现 建议使用数据有效性,请参考: 另请参考:

我要回帖

更多关于 excel vba编程实例 的文章

 

随机推荐