问题标签 [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 回答
262 浏览

vba - VBA根据另一个单元格中的特定文本打开超链接

我正在尝试创建一个 VBA 来查看星期一的单元格 E,然后打开 D 中它旁边的单元格中的超链接。

我已经尝试过以下但它不起作用。当我运行它时什么都没有发生。这些文件在我的网络上,超链接附加到。

在此处输入图像描述

0 投票
2 回答
123 浏览

excel - 如何在不使用 VBA 的情况下在 Excel 中转换 HEX 和 DEC 之间的大数字?

Excel-Functions=HEXTODEC(hex)=DECTOHEX(dec)工作正常,但只能达到0x7F FF FF FF FF. 我需要将数字转换为0xFF FF FF FF FF. 从0x80 00 00 00 00Excel 开始很遗憾地开始将 is 解释为有符号值并将其转换为负小数。如果我尝试转换549 755 813 888为 HEX 值,我只会收到错误消息。

有人有解决方法的想法吗?是否可以将十六进制/十进制值分成两部分,将其转换并重新组合在一起?目前我没有想法。

溶液不得含有 VBA。可以使用 Office365 的新功能,我已经使用了很多移位和 bitvise xor。

谢谢

0 投票
2 回答
34 浏览

excel - 如何在Excel中自动填充不像行那样计数的定期内容

假设我有八个 excel 单元格 (A1:A8),内容如下:

现在我标记它并将其向下拖动到接下来的八个单元格。我想用 B2 而不是 B1 得到相同的八个公式,但是 excel 给我所有单元格的 B9,因为 9 是第一个新单元格的行号。

我如何告诉 excel 我想在自动填充中使用 B2(以及接下来的八个中的 B3 等等)?需要大量的数据才能全部手写。

谢谢

0 投票
1 回答
680 浏览

excel - 如何将两个动态数组组合成一个公式中的动态数组?

我有两列都有各自独特函数的结果,即两列都包含不相关的动态数组。有没有办法可以将这两个动态数组组合为一个动态二维数组并在公式中使用?

例子:

单元格 A1 = 唯一(rng1) 单元格 B1 = 唯一(rng2)

两者总是返回相同数量的项目。

我在单元格 D1 = SORT(A1#:B1#) 中想要什么 --> 我该如何进行这种组合?

符号 A1#:B1# 给出错误。

0 投票
0 回答
573 浏览

excel - 如何将两个多列动态数组组合成一个公式中的动态数组?

我有两个 2D 范围都是动态数组。我知道我可以使用 CHOOSE 函数将列并排堆叠或在行下方轻松堆叠行。但是,当堆叠的两件东西有不止一行或一列时,这会失败。如何在每个动态数组都有多行的公式中附加/堆叠两个动态数组。

例子:

我想堆叠两者并获得动态结果,在本例中为 A1:D2

我该如何做这个组合?

=CHOOSE({1;2},A1#,C1#)不起作用,它似乎拿起了两个动态数组的第一行。

0 投票
0 回答
138 浏览

oracle-ebs - Excel oracle add in 无法将日志上传到 oracle ebs: members not found error0cle

想为 oracle ADI 请求 Excel O365 插件,特别用于上传总帐日志,生成为 .xlsm 来自它一直显示找不到成员。

已经尝试降级并停止自动更新 excel 版本,但仍然无法。

0 投票
1 回答
613 浏览

excel - 如何获得动态数组的每一行的总和?

我有一个 0 和 1 的二维动态数组(例如 B1#)。我想计算每行中 1 的数量。这可以使用每行的 SUM 或每行的 COUNTIFS 来完成。

我的目标是拥有一个动态数组公式,它将对每一行求和/计数,从而根据 2D 动态数组中的行数自动溢出。

我该怎么做呢?

我尝试了什么:

  • 我在 A1# 中添加了一个支持列作为 Sequence(Rows(B1#))
  • 我尝试了 SUM(INDEX(B1#,A1#,0)) 但显然这不起作用,因为 SUM 必然会返回单个值,而我预计 ROWS(B1#) 中的总数会溢出
  • 我尝试了 COUNTIFS(INDEX(B1#,A1#,0),1) 但这也导致了一个单一的值 #VALUE!
0 投票
2 回答
183 浏览

excel - 快速/高效的 VBA 代码,用于比较大型数据库(约 9000 行)的 excel 中的两列

我正在尝试为不匹配的对应值编写一个高效且更快的 VBA 代码,这将:

  • 对照 A1:A9000 检查 C 列的每个值
  • 如果找到:复制 B 列和 C 列的值并将它们粘贴到找到的单元格值(在 B 列和 C 列中),并删除旧的不匹配条目。

运行 for 循环最终会进行 9000*9000 计算,制作速度非常慢。我是初学者,不知道更快的方法。我知道 .Find 比使用 for 循环快很多。

以下是样本不匹配的数据:

A栏 B栏 C栏
XYZ1 对 XYZ1 的评论 XYZ1
XYZ3 对 XYZ2 的评论 XYZ2
XYZ5
XYZ6 对 XYZ4 的评论 XYZ4
XYZ8 对 XYZ5 的评论 XYZ5
XYZ9

请注意,B 列和 C 列中的值将始终相互匹配并正确对应。不匹配在A AND B & C之间。

这是期望的结果:

A栏 B栏 C栏
XYZ1 对 XYZ1 的评论 XYZ1
XYZ3
XYZ5 对 XYZ5 的评论 XYZ5
XYZ6
XYZ8
XYZ9

请注意,A 列不能更改或更改。

这是我到目前为止所拥有的,但处理代码需要的时间太长了:

0 投票
0 回答
113 浏览

excel - 使用可搜索的多个列表 Excel VBA 进行安全输入

我正在为此制作一个条目数据,我实现了一个互联网代码来制作一个能够在一系列单元格内搜索的组合框。如果在数据验证列表中引用的值是绝对范围(例如='Posibles valores'!$P$4:$P$103),则该代码运行良好。但我不想更新引用,而只是在表上创建新闻行。我试过这些方法:

  1. 创建一个包含函数的命名范围=INDIRECT("Tubos_Tipo[Tubos-Tipos]"。对表进行引用。但在这种情况下,组合框只显示表引用。这种方式在数据验证列表上对我有用,但不是不使用这个宏。

  2. 另一方面,试图使用另一个函数的函数=OFFSET('Posibles valores'!$P$4;0;0;COUNTA('Posibles valores'!$P$4:'Posibles valores'!$P$1000);1)),但它给出了一个错误you cannot use reference operators (such as unions, intersections, and intervals), array constants, or the LAMBDA function for Validation of specific data

这是带有一些注释的可搜索组合框的代码:

我对 VBA 的了解并不多于我在过去两周学到的知识。首先,我想知道是否有某种方法可以执行函数并返回 Range。在我认为不可能解决此问题的唯一方法是创建一个以表头引用作为参数的方法时,创建一个范围。

最后两件事,可搜索的宏功能用于每一列,并通过列表验证代码在其中。有什么方法可以选择排他的工作表和它们可以使用的列。此代码允许给出错误的结果。它只是用绿色角突出显示错误的字段,如果它是错误的,可以通过任何方式删除,或者像默认数据验证一样弹出窗口。

提前致谢

If Target.Column = 3 Or Target.Column = 4 Then编辑:在做第一个 big 之前,我只为我想要的列激活了组合框if。据我了解,每个“页面”都有自己的代码。这个对吗?

0 投票
1 回答
30 浏览

excel - 在已查找的另一个值的同一行中查找值?

我使用以下公式从另一张表中查找值:

=IFERROR(INDEX('Detail list'!$H$2:$H$1604;SMALL(IF(1=((--(A$1='Detail list'!$J$2:$J$1604))*(--(A$2='Detail list'!$I$2:$I$1604)));ROW('Detail list'!$H$2:$H$1604)-1;"");ROW()-2));"")

此查找基于两个标准:公司名称和年份。

查找示例

查找发生在单元格 A3 及以后。它使用 A1 中的公司名称和 A2 中的年份,然后在另一张表中找到相应的值。这里涉及重复,因为用于此查找的列仅包含 001 到 010。它仍然能够根据年份和公司名称以正确的顺序返回所有值。

我现在想查找或将“对应”值与刚刚获得的值结合起来。例如: A3 (005) 中的值是指另一张纸中的特定单元格。我想从该确切的行返回一个值,但从不同的列返回。我尝试了以下方法:

=IFERROR(@INDEX('Detail list'!$B$2:$B$1604;AGGREGATE(15;6;(ROW('Detail list'!$H$2:$H$19883)-ROW('Detail list'!$H$1))/('Detail list'!$H$2:$H$19883=A3);COUNTIF($A$3:$A3;A3)));"")

这确实返回了一个值(即客户值),但这并不精确,因为它采用了在完整列表中遇到的第一个 005(因此不再按年份和公司排序!)并报告。我需要它来自前一个值所指的确切行。

如果有人能帮我解决这个问题,我会很高兴。如果不是,我完全理解,

亲切的问候,

VHes