问题标签 [excel-365]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
251 浏览

excel - Excel VBA 2016 / 365 兼容性问题?

我制作了一个宏,其他人在过去 6 个月中一直在使用,直到昨天出现 0 个意外错误。

整个过程中,宏都是在 Office 365 中创建、编辑和使用的。所有操作系统都有 Windows 10。昨天有人尝试在另一台 PC(仍然是 Windows 10)上使用宏,但有 Excel 2016。他们使用宏导入一个文件并遇到Mismatch错误,错误行对我来说毫无意义,因为它只是擦除加载的数组。

我注释掉了擦除数组并再次尝试,它在我的代码的第一个 if 语句中给了我另一个不匹配错误。

我拿了完全相同的宏文件并在装有 Office 365 的 PC 上打开它,并且宏运行完美。

我不确定 2016 与 365 发生了什么,但我一直在阅读,我能找到的所有因素都与操作系统或项目参考有关。两者对我来说似乎都很好。

不确定这是否是有用的信息,但这些信息正在工作中使用,因此 PC 已联网

我错过了什么吗?任何建议都非常感谢!

错误

错误线

参考

****** 编辑 ******

整个 sub 太长了,但是在注释掉删除数组后发生错误的 if 语句是If FirstTarget.Value = "Coagulase-negative staphylococcus" Or FirstTarget.Value = "Xeno" Then

0 投票
0 回答
18 浏览

performance - 如何在打开特定工作簿并在关闭后重新启用时禁用所有加载项?

我需要一个去掉所有功能和特性的工作簿。打开时

  1. 1 列 4 行的窗口显示
  2. 最终用户将剪贴板中的 1 个单元格粘贴到 1 个单元格中
  3. 按 F9 到 Calc
  4. 将另一个单元格复制到剪贴板。
  5. 关闭工作簿;打开此工作簿时将不会使用其他工作簿。

形状和形式类似于微软计算器应用程序,但功能不同。理想情况下,可以配置此工作簿以牺牲美学和功能(例如插件、功能区、校对、滚动条)以获得最佳性能

不幸的是,我喜欢关闭许多功能(i/c 加载项)

  1. 影响所有打开的工作簿
  2. 没有键盘快捷键可以暂时禁用多重功能。
  3. 没有命令行选项来打开另一个具有禁用功能的 Xl 实例。

我知道 VBA 可以暂时执行此操作,但由于我的公司限制 VBA,是否有 Microsoft 认可的源代码?或者,是否有最佳实践? https://answers.microsoft.com/en-us/msoffice/forum/msoffice_excel-msoffice_ofb-mso_opwin/excel-365-com-add-ins-for-individual-workbook/a2de7907-d724-4bad-8a6e-19395f441ebd? messageId=178cafd1-1fc1-4e4f-b12c-052ad7428e23

0 投票
0 回答
19 浏览

excel - 聚合值计算每列每种类型值的数量

我从 SQL Server 导出数据。数据导出格式为:

对于列

  • Y+1
  • Y+2
  • ...

每行和每列可能的值是:

  • 使能够
  • 残疾
  • 待修改

预计交货:

Y+1 Y+2
使能够 丁腈橡胶 丁腈橡胶 丁腈橡胶
禁用 丁腈橡胶 丁腈橡胶 丁腈橡胶
待修改 丁腈橡胶 丁腈橡胶 丁腈橡胶
0 投票
1 回答
165 浏览

excel - 在我将单元格置于编辑模式然后退出之前,XLookup 函数不会检测到完全匹配

我在 Excel 365 中使用 XLookup 函数。我使用 VBA 脚本为一行数据创建一个 ID 号,然后将该 ID 号放入一个单元格中。

如果我使用 XLookup 函数和 Exact Match 来定位那个 ID 号并在它旁边的列中给我一些值,我会得到 N/A。

但是,如果我手动找到该确切的 ID 号并将单元格置于编辑模式,然后退出单元格而不采取任何其他步骤以任何方式更改数据,则 XLookup 函数将返回正确的结果。

在此处输入图像描述

如果我让单元格处于初始状态,但使用匹配模式“-1”来获得完全匹配或更小的匹配,它会返回正确的结果。我不想让它处于那种模式,因为我的最终函数将是两个嵌套的 Xlookup 函数,它们检查一个表的 ID,如果不存在,则查看另一个表,所以我不希望第一个函数返回“下一个较小”的结果。

当我在 VBA 脚本中生成 ID 号时,我将其生成为“Variant”类型,因为 ID 号是十进制的,例如 210.1。然后,我只需将该单元格的值设置为变体 ID 号。

这是我将数据放入单元格的方式:

Excel 似乎将其识别为数字;至少我似乎能够对 ID 号进行数学运算并得到正确的结果。

我尝试将查找 ID 号放在引号中,以查看将其作为文本而不是数字查找是否会产生不同的结果,但这并没有改变我的结果。

为什么我会得到这个结果?有没有办法在不使用其他匹配模式的情况下解决它?

0 投票
3 回答
73 浏览

excel - 是否可以根据另一列中的值连接一系列值?

我有员工及其合同类型的电子表格,格式如下

姓名 合同类型
员工1 永恒的
员工2 合同
员工3 实习生
员工4 永恒的
员工5 永恒的
员工6 国际米兰
员工7 合同

依此类推,直到 EmployeeN

我必须计算员工人数,并创建每种类型的员工姓名的 CSV 列表,例如

类型 数数 名称
永恒的 4 员工 1、员工 4、员工 5、员工 14
合同 3 员工 2、员工 7、员工 21
实习生 2 员工 3、员工 6

这需要自动更新,所以如果Employee2的合同类型改为Permanent,Contract行的count变为2,Permanent行的count变为5,name列表更新

我曾经COUNTIFS统计过每种员工类型的人数,但无法更新姓名列表

我尝试使用创建一系列名称,VLOOKUP但它只返回一个值,我需要多个值才能使用该CONCATENATE方法

0 投票
0 回答
21 浏览

copy-paste - 从 Excel 粘贴到 Outlook 时货币格式发生变化

我有一个表格,其中的数字具有条件格式,可以根据其他页面上的选择更改货币符号。当我复制此表并粘贴到 Outlook 中时,数字没有任何货币符号。我尝试了不同的编号格式,例如会计和货币。但货币符号不会动态变化。这是表的样子。

在此处输入图像描述

当我将这张表粘贴到 Outlook 中时,它看起来像这样。

在此处输入图像描述

有什么解决方法吗?这样每当我粘贴表格时都会带有货币符号。我要求人们使用粘贴特殊图像选项,但他们想按原样粘贴而不是图像。有人可以帮我吗?

0 投票
0 回答
38 浏览

excel - Excel 公式返回意外结果

有问题的公式:

=IF(AND(COUNTIF(Roster[Number],[@Number]),COUNTIF(Roster[Black List],"TRUE")),"TRUE","FALSE")

这里的想法是通过比较其上的“数字”列和名册来检查一个表上是否有任何行被“列入黑名单”。名册上的“黑名单”列是通过检查名册上的另外两个列生成的:

=IF(OR([@Quarantined]="TRUE",[@[Leave In Place]]="TRUE"),"TRUE","FALSE")

问题是,无论我似乎做什么,初始公式都会为检查的所有行返回“FALSE”,即使名册包含数字的完全匹配并且“黑名单”列中的值为“TRUE”。

我在这里错过了一些简单的东西吗?

0 投票
4 回答
65 浏览

excel - 使用条件查找最接近的 3 个值

我有一份员工名单,上面写着姓名、部门和工作年限

参考员工名单

我想写一个公式,我可以输入部门和经验年数作为搜索条件 - 例如:“HR”和“6” 输入条件

我希望得到的结果是姓名、部门和经验年限,根据员工的经验与搜索部门的接近程度进行排序。

例如:我搜索了“HR”和“6”,结果将被排序: 显示结果

0 投票
0 回答
42 浏览

excel - 计算公式时如何使用excel VBA将公式复制到相邻单元格(使用相对引用)?

所以我有一本我一直在设置的工作簿:

工作簿的屏幕截图(其中 2 的单元格是我手动将公式粘贴到该单元格中)

其他带有刚刚计算的公式的屏幕截图,其下方的单元格为空白

  • 基本上,在工作表的一端,我有一个公式来编辑它所在行另一端的单元格的值,具体取决于该行中与目标单元格相邻的单元格中是否有数据。
  • 如果没有数据,它会自动清空目标单元格以及公式单元格下方的单元格。

到目前为止,我已经设法弄清楚了我自己的所有这些,但我无法弄清楚如何实现我接下来想做的事情:

  • 在公式看到该行中有数据并编辑目标单元格后,我还希望它将公式本身复制到其正下方的单元格中(因此确保每行在填写时都具有此功能。)

我一直在尝试在 vba 中构建一个函数来执行此操作,但我很难弄清楚如何执行此操作。我一直在尝试使用 [formulaCell].FormulaLocal 和 PasteSpecial 之类的东西,但是虽然有时我能够成功复制公式,但它总是使用绝对引用或不变的相对引用(即,如果目标单元格在原始公式中是$A2,目标单元格在粘贴公式中仍然是$A2,并且它引用的单元格没有改变。我希望它粘贴为单元​​格$A3,因为它被粘贴到第3行这里。)

这是我在此模块中(以及整个工作簿中)编写的所有自定义代码:

公式本身,然后:

我边走边学,所以我不是专家或任何东西,但我很难找到解决这个问题的方法。这不是我尝试过的损坏功能的唯一迭代,它只是最新的(我在宏记录器中四处乱窜,绝望地想要这个,哈哈)。我想弄清楚这一点,因为每次手动复制粘贴公式都很痛苦,并且将其粘贴到整个列中会使 excel 像我一样上坡(缓慢而糟糕)。任何人都可以在这里给我任何帮助,我将不胜感激,感谢您的阅读!

0 投票
2 回答
66 浏览

excel - Excel VBA将指定的工作表集复制到新工作簿/从副本中排除工作表

我试图仅将数据从一个工作簿复制到一个新工作簿中,但只有四个现有工作表。下面的代码允许我成功地将所有工作表复制到新工作簿。这以前工作得很好,但现在我只想复制表 2-7,因此不包括表 1。

这是通过用户将数据复制到工作表 1 中来完成的,并且数据将填充到工作表 2-5。工作表 6 和 7 包含所有新工作簿的元数据。为了能够导入复制的数据,我需要一个带有工作表 2-7 的新工作簿。

关于如何改进代码以仅复制指定的工作表或排除工作表 1 的任何建议?