问题标签 [byval]

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 回答
32 浏览

vba - 在过程之间传递参数

我有一些非常简单的代码,我试图将参数从一个子(调用父)传递给另一个;修改一些值,而不是修改其他一些值并完成。我似乎失败得很惨。不知道为什么。这是一些代码

我很难理解为什么会出现编译错误(编译错误;ByRef 参数类型不匹配;它出现在 Child_sub 调用的 v2 参数上)。我将 Excel 2016 用于家庭和企业。有什么有用的提示吗?

只是为了避免一些可能很简单的反应;我还没有定义两个具有相同名称(!)的子,也没有在代码的其他任何地方进一步重新定义变量(检查)。这对我来说很奇怪。请帮忙,我是个白痴!

0 投票
1 回答
1610 浏览

arrays - VB.NET数组参数机制,byval和byref

作为一个初学者,我的问题是如果一个数组是按val传递的,那么参数到底是什么?我知道数组是一种引用类型。我的猜测是数组参数 byval(从参数中保存数组)应该获取参数引用的副本,因此,一旦子ArrayProcByRef更改了数组参数中的元素,参数也应该更改。

以上是我的代码,很简单,输出是 10,100,0,22 有人可以给点小费吗?

0 投票
1 回答
29 浏览

vba - VBA - 如果将某些数字传递给另一个子,则溢出错误

我创建了一个用户窗体,我在其中输入了一个数字或名称,然后它将基于此查找一些信息。如果输入是数字,它调用子 OpslagNummer 并传递来自 UserForm 的输入。问题是它总是在某些数字 fx 61001 或 56001 上给我一个“溢出”错误,其中 10001 工作得很好?

UserFrom 1中的代码:

模块 1 中的代码:

0 投票
0 回答
64 浏览

excel - 循环宏

我有以下问题:

我创建了一个宏,它在我的 excel 电子表格中锁定特定范围 (B20:Y20) 的行,并用特定颜色绘制锁定的行。此外,它为 Y20 中的锁定行创建时间戳。单元格锁定的条件是 B20 列的值不为空。

当我激活宏时,首先应检查单元格 B20 的值是否 > 0。如果是这种情况,则指定范围的行被锁定并着色并添加时间戳。

现在的目标是在 B21 的值大于 0 时对下一行(范围 B21:Y21)执行相同的过程。这导致了我的问题:如何“前滚”我的宏以在连续行中执行?

从我的角度来看,目标是调整我的代码的所有等级,使列和行变为“动态”,并且不能仅针对当前显示的一个特定行“严格”执行。

有谁知道如何通过激活宏来调整我的代码,以便将 B 列 > 0 的下一行用于处理?

提前致谢。

这是我的代码:

0 投票
2 回答
55 浏览

excel - 如何根据另一个单元格更新您输入值的同一单元格?

在这里完成 VBA 初学者 - 我正在尝试根据另一个单元格及其变化的值来更新我刚刚输入值的单元格。

所以,我在 A1 中输入 100。

然后,基于在单元格 C5 中键入 3 个单词的选项,我想将 A1 乘以一定数量。

如果我在 C5 中输入“正常”,它将 A1 乘以 1。如果我在 C5 中输入“低”,它会将 A1 乘以 0.5。如果我在 C5 中输入“高”,它将 A1 乘以 2。

任何帮助或方向都会很棒:)

0 投票
1 回答
53 浏览

excel - 第二次更改(ByVal 目标作为范围)不起作用

我有一个小谜题。我使用单元格“K6”和“L6”作为输入(用于扫描条形码)。当我选择单元格“K6”并扫描条形码时,单元格“O6”正在从值“0”变为值“1”(通过公式“=IF(K6>0,1,0)”)。

我使用单元格“O6”(何时是“0”)作为“Sub(ByVal 目标作为范围)”的触发器,这个 Sub 调用 marco“Nasklad”,它将“K6”值复制并粘贴到 sheet2(IN_OUT)列“ A" 第一个空白。在它调用宏“Clear”之后选择sheet1(Sklad)并清除单元格“K6”。

整个过程工作正常,我扫描条形码,代码被复制到另一张纸上,我可以扫描另一个代码等等。

现在要注意了,当我尝试将单元格“K6”的重复系列命令与单元格“L6”一起使用时,什么也没发生。

看起来“Sub worksheet_change2(ByVal target As Range)”不起作用。当我将“P6”中的“L6”值输入为“1”时(通过公式“=IF(L6>0,1,0)”,这次触发器不运行 Sub,我不知道为什么。

我错过了什么?

感谢您的帮助

0 投票
1 回答
79 浏览

excel - long 支持小数吗?

我试图理解 ByVal 和 ByRef 并使用 ByVal 关键字将参数从 long 传递到 double。

我注意到 VBA 给了我 y 平方值的错误答案。当 y (i in my sub) 是一个整数时,它确实有效。

在下面的示例中,我有 i = 22.5。
电子表格给了我 506.25。
我的函数给了我 484。

我认为 long 和 double 都支持小数。

0 投票
3 回答
94 浏览

excel - 仅当单元格值更改时如何执行指令?

我有一个 ByVal 代码来清除表格内特定范围的内容,它可以工作。但是如果范围值(内容)发生变化,我需要为指令执行添加一个条件,而不是如果我只将光标放在它上面。

另外,有人知道如何在 VBA 中引用表列吗?现在我使用的是估计范围“C1:C999”,但我想使用他的名字“A_[OPERATION]”。

这是代码:

0 投票
1 回答
30 浏览

excel - 添加新代码后工作的代码出现 1004 错误

我很难过(不需要太多)。我有两段代码似乎不能很好地协同工作。我希望他们或找到替代方案。第一个是清除内容和更改格式的命令按钮代码。在我添加“如果值更改”代码之前,这工作得非常好。值更改代码是指格式从第一个代码更改的范围内的单元格。我想这就是问题所在。代码大部分使用命名范围。我尝试使用单元格地址,在代码中定义范围,保护/取消保护,并将工作表名称添加到范围中。

此代码在没有“如果值更改”代码的情况下工作得很好。

使用下面的代码时,上面的代码从第 5 行开始返回 1004 应用程序定义/对象定义错误 - “Range(“ALL”).Interior.ColorIndex=35。”

我想了解为什么我会收到错误以及如何修复以防止错误。

0 投票
1 回答
35 浏览

excel - 无法删除包含旧数据的单元格以便为新数据让路

在我的工作簿的第 2 页中,我有员工的姓名、他们上班的日期、他们工作的班次和缺勤率。在我的代码表 1 中,我有一个查找表,我打算在其中将员工的姓名输入到单元格中,并显示所有日期和此人的工作时间,以及轮班和旷工情况。我已经尝试了很多东西,但这是我当前的代码:

我的意图是当输入新名称时,这会清除查找页面列中的信息,并为新名称输入新数据。我将名称与日期匹配的代码的第二部分有效,但我正在努力使用清除功能。我能做些什么来修复它?