Office

从SharePoint网站打开Excel文件

我正在尝试使用VBA从SharePoint打开一个Excel文件。因为我正在寻找的文件可能会不同,每次我运行宏,我想要能够查看SharePoint文件夹,并选择我需要的文件。 当我想要在网络驱动器上查找一个文件时,下面的代码可以正常工作,但是当我用SharePoint地址替换它时,我得到“运行时错误76:路径未找到”。 Sub Update_monthly_summary() ..
发布时间:2017-09-03 17:58:46 Office

通过codename完全引用工作表

当我使用CodeName属性引用Excel工作表时,我如何完全符合资格,包括工作簿参考? 我想防止有两种不同的工作簿打开和两张具有相同CodeName的纸张。我使用 ThisWorkbook ,因为我想引用代码正在运行的工作簿。 我想像这样: Dim tgWs As Worksheet 设置tgWs = ThisWorkbook.WsSummary tgWs.Cells( ..
发布时间:2017-09-03 17:58:32 Office

Excel VBA日期格式

我有一个包含多个日期的电子表格。这些通常出现在 mm / dd / yyyy 或 mm / dd / yyyy hh:mm 。 问题是日期并不总是正确的,我想要检查以确保它们是代码中的日期。 我原来的想法是使用 IsDate 来检查或 CDate ,但这似乎不起作用:它仍然返回字符串,而不是日期。 我已经设置了一个小实验,显示这些功能不能按照我的期望工作。方法是: 在单元格 ..
发布时间:2017-09-03 17:58:04 Office

组中子组的唯一等级值

我正在尝试从我的数据中的一个子组获得一个独特的排名值(例如 {1,2,3,4} 。SUMPRODUCT将生成关系{1,1,3,4} ,我试图添加COUNTIFS到最后调整重复排名。 子组 col B col M rank LMN 01 1 XYZ 02 XYZ 02 ABC 03 ABC 01 XYZ 01 LMN 02 3 ABC 01 LMN 03 ..
发布时间:2017-09-03 17:57:49 Office

粘贴特定的excel范围在展望

我正在处理一个我想要自动化的excel报告,但是,单元格的范围没有被粘贴到Outlook中。 这是我的代码: Sub Mail_Selection_Range_Outlook_Body() Dim rng As Range Dim OutApp As Object Dim OutMail As Object 设置rng = Nothing 关于错误简历Next ..
发布时间:2017-09-03 17:57:34 Office

从函数设置单元格值

然后,单元格 A1 的内容是 = test(2)其中 test 是函数: 函数测试(ByRef x As Double)As Double Range(“ A2“)= x test = x * x 结束函数 可以你解释为什么这会在单元格 A1 中给出 #VALUE!,而单元格 A2 ?我希望 A2 包含 2 和 A1 以包含 4 。没有行 Range(“A2”)= ..
发布时间:2017-09-03 17:56:37 Office

ReDim Preserve做什么?

我正在看别人的vba excel代码。他们在两个循环中都执行 ReDim保存dataMatrix(7,i)。这是做什么? 另外,似乎第二个循环只是覆盖第一个循环中的数据,是否正确? Dim dataMatrix()As String Worksheets.Item(“ETS”)。选择 尽管修剪(细胞(r ,1)) ..
发布时间:2017-09-03 17:56:23 Office

如何清除内存以防止“内存不足错误”在excel vba?

我正在大型电子表格上运行VBA代码。如何清除程序/调用之间的内存,以防止发生“内存不足”问题? 谢谢 解决方案 帮助记忆被释放的最佳方式是消除大对象: Sub Whatever() Dim someLargeObject as SomeObject '昂贵的计算 设置someLargeObject = Nothing End Sub 还要注意 ..
发布时间:2017-09-03 17:56:07 Office

确定用户是添加还是删除行

我有一个VBA宏来验证用户输入的数据(我没有使用数据验证/条件格式化目的)。 我正在使用 Worksheet_Change 事件触发代码,我现在面临的问题是,当有行更改时。我不知道是否删除/插入行。 有没有区别这两个? 解决方案 您可以定义范围名称,例如 RowMarker = $ A $ 1000 然后,您的更改事件上的此代码将存储此标记与其先前位置的位置,并报告任何 ..
发布时间:2017-09-03 17:55:52 Office

Excel公式到SUMIF日期属于特定月份

日期金额 03-Jan-13 430.00 25-Jan-13 96.00 10-Jan-13 440.00 28-Feb-13 72.10 28-Feb-13 72.30 只有当月份位于一月月份时,我需要总计金额字段。 我尝试过的是 = SUMIF(A2:A6,“MONTH(A2: A6)= 1“,B2:B6) 但是返回 ..
发布时间:2017-09-03 17:54:37 Office

VBA检查文件是否存在

我有这个代码。它应该检查一个文件是否存在,并打开它。如果文件存在,它会工作,但是如果没有,只要我将文本框留空并单击提交按钮,就会失败。我想要的是,如果文本框为空,则显示错误消息,就像文件不存在一样。 运行时错误“1004” Dim File As String File = TextBox1.Value Dim DirFile As String DirFile =“ ..
发布时间:2017-09-03 17:53:54 Office

在VBA(Excel 2010)中如何将默认情况恢复为变量?

在某些时候,我意外地命名一个变量 range (所有小写字母),然后Visual Basic for Applications编辑器拒绝使用 Range (Pascal-cased);它将自动更正为小写。我如何重新设置“大脑”来忘记我过去的犯罪行为? 注意:我已经尝试了全局替换,但是当我编辑任何一个线条 - 它再次重新纠正。 显然这是一个非常非常的轻微化妆品问题,但每次看着R都跛行我输 ..
发布时间:2017-09-03 17:53:11 Office

VBA编辑器自动删除行尾的空格

有没有办法说服Excel中的VBA编辑器停止自动格式化行,以便在暂停输入四分之一秒的时候终止空格? 解决方案 有一种方法来关闭VBA编辑器中的自动“修正”。 工具菜单 - > 选项 - > 编辑器选项卡 - >清除自动语法检查框 ,这不会解决你的所有问题,因为VBA编辑倾向于有自己的想法,不管好坏还是更糟。 ..
发布时间:2017-09-03 17:52:46 Office

如何使用OpenXML格式SDK从电子表格中读取数据?

我需要使用Open XML SDK 2.0从Excel 2007工作簿中的单个工作表中读取数据。我花了很多时间寻找基本的指导方针,但我只是在创建电子表格方面找到帮助。 如何在工作表中迭代行,然后使用此SDK迭代每行中的单元格? 解决方案 我这样做的方式是与Linq。使用SDK,只需使用纯Open XML(无SDK)就可以在此主题中找到很多示例。看看: Office Open X ..
发布时间:2017-09-03 17:52:03 Office

Excel范围内的一维数组

我现在正在使用以下代码填充我的阵列证券: 期权基础1 证券=数组(工作表(3).Range(“A8:A”& SymbolCount).Value) 产生一个二维数组,每个地址都是(1 ... 1,1 ... N)。我想要一维数组(1 ... N)。 我如何(a)将证券作为一维数组填充,或(b )有效地将证券剥离成一维数组(我被困在每个循环中)。 解决方案 ..
发布时间:2017-09-03 17:51:19 Office

将Excel(xls)文件转换为不带GUI的逗号分隔(csv)文件

我需要使用脚本处理一些Excel XLS工作簿,这样就可以简单的将XLS转换成CSV格式的文件。为此,我需要将xls文件转换为csv文件。这可以通过Excel应用程序的保存来完成。但是,我想自动化这个(所以,不打开Excel应用程序窗口)。 如果工作簿中的第一张表被转换为CSV格式就足够了。 我需要处理该表中的数据。 我的系统上安装了Cygwin和Excel - 如果这有帮助。 ..
发布时间:2017-09-03 17:51:05 Office

Excel日期从yyyymmdd转换为mm / dd / yyyy

我一直在Excel中搜索大约一个小时的时间。 我有一个从旧系统创建的Excel文件,我正在拉来自SQL Server数据库的信息,我将把信息输入SQL Server数据库,并希望日期匹配。 我已经尝试创建自定义格式,但我不确定我是否正确地执行。我发现了几个地方,他们想以另一种方式 mm / dd / yyyy 到 yyyymmdd ,但他们还没有有帮助。 我不熟悉在任何Micro ..
发布时间:2017-09-03 17:50:49 Office

在Excel中显示毫秒

我试图在Excel宏中显示毫秒。我有一列整数,它们只是以毫秒为单位的时间戳(例如,28095200是7:48:15.200 am),我想在其旁边创建一个保持运行平均值的新列,并将时间显示在“hh:mm :ss.000“格式。我尝试过多个不同的路线,但是我根本无法得到毫秒,而不会导致奇怪的事情发生。 这是我现在所在: Dim Cel As Range Set Cel = Range ..
发布时间:2017-09-03 17:50:34 Office

获取给定列和列号的单元格的内容

我想获取一个单元格的内容,其行号和列号。行和列号存储在单元格(这里为B1,B2)中。我知道以下解决方案的工作,但他们觉得有点黑客。 Sol 1 = CELL(“contents”,INDIRECT地址(B1,B2))) Sol 2 = CELL(“contents”,OFFSET($ A $ 1,B1-1,B2-1)) 有没有更简单的方法 ..
发布时间:2017-09-03 17:50:05 Office