Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 是否有一种技术可以在模板复制并粘贴到同一工作表上的新位置时更新VBA语句?_Excel_Vba_Copy Paste - Fatal编程技术网

Excel 是否有一种技术可以在模板复制并粘贴到同一工作表上的新位置时更新VBA语句?

Excel 是否有一种技术可以在模板复制并粘贴到同一工作表上的新位置时更新VBA语句?,excel,vba,copy-paste,Excel,Vba,Copy Paste,我已经建立了一个Excel电子表格来跟踪我的股票期权交易。 我有各种期权交易的模板(例如,iron condor、Bull借记价差)。 我每隔一分钟计算一次损益(P/L),并与我的 目标利润。最近,我添加了一个需要VBA编码的警报 我想复制我的选项模板并将其粘贴到相同的 工作表并使粘贴的函数工作,而无需编写 每个新期权头寸的新VBA声明(即,每次我复制并粘贴我的期权交易模板时) 我尝试了范围值的绝对和相对命名, 将选项模板(包含VBA警报代码)粘贴到新位置后,这两种方法都不起作用 我已经求助于多

我已经建立了一个Excel电子表格来跟踪我的股票期权交易。 我有各种期权交易的模板(例如,iron condor、Bull借记价差)。 我每隔一分钟计算一次损益(P/L),并与我的 目标利润。最近,我添加了一个需要VBA编码的警报

我想复制我的选项模板并将其粘贴到相同的 工作表并使粘贴的函数工作,而无需编写 每个新期权头寸的新VBA声明(即,每次我复制并粘贴我的期权交易模板时)

我尝试了范围值的绝对和相对命名, 将选项模板(包含VBA警报代码)粘贴到新位置后,这两种方法都不起作用

我已经求助于多个If语句,这些语句可以工作,但编码不起作用 很混乱,我必须为每一个新的VBA“If语句”编写一个新的VBA 选项位置

是否有一种技术可以在模板复制并粘贴到同一工作表上的新位置时更新VBA语句


示例VBA“if语句”:将前两个if语句作为模板 最后一个被复制并粘贴到新位置


Private子工作表\u更改(ByVal目标作为范围)
如果范围($K$10”).值>=范围($L$9”).值,则
MsgBox提示符:=“选项已超出目标,兑现!”,标题:=“选项警报”
如果结束
如果范围($K$20”).值>=范围($L$19”).值,则
MsgBox提示符:=“选项已超出目标,兑现!”,标题:=“选项警报”
如果结束
.
.
.
如果范围($K$249”).值>=范围($L$248”).值,则
MsgBox提示符:=“选项已超出目标,兑现!”,标题:=“选项警报”
如果结束
端接头

到最后一行的for循环是否无效?例如,
对于i=10到范围(“K”和Rows.Count)。End(xlUp)。如果单元格是连续的,Row
听起来是一个很好的解决方案。不幸的是,在范围单元格之间有几行,其中一些带有数字,可以与文本进行比较,每分钟更新都会出现误报。很好的建议,只是在我的情况下不起作用。你要检查的细胞是否不连续地保持相同的距离?如果是,您可以在For循环中执行
步骤
,以跳过每个x单元格。或者使用辅助列确定要计算的行,然后根据这些行循环。在看不到您的实际工作表的情况下,很难知道什么适合您的案例,因为我不完全清楚您的安排。不幸的是,没有,没有固定的行数。特定选项策略的模板在行数上有所不同。当我为期权交易添加模板时,我会按到期日期在电子表格上定位,而不是按交易策略(在7到10行之间变化)。电子表格最多可以有300到400行,这是需要警报的原因,此外,还有条件格式可以使利润单元格变为亮黄色以引起注意。警报可防止连续滚动以查找已达到目标的单元格。如果您具有检查单元格的条件格式,则只需使用VBA查找高亮显示的单元格并报告其位置或执行任何操作。您可以使用:
DisplayFormat.Interior.color
查找条件格式的单元格颜色。到最后一行的for循环是否无效?例如,
对于i=10到范围(“K”和Rows.Count)。End(xlUp)。如果单元格是连续的,Row
听起来是一个很好的解决方案。不幸的是,在范围单元格之间有几行,其中一些带有数字,可以与文本进行比较,每分钟更新都会出现误报。很好的建议,只是在我的情况下不起作用。你要检查的细胞是否不连续地保持相同的距离?如果是,您可以在For循环中执行
步骤
,以跳过每个x单元格。或者使用辅助列确定要计算的行,然后根据这些行循环。在看不到您的实际工作表的情况下,很难知道什么适合您的案例,因为我不完全清楚您的安排。不幸的是,没有,没有固定的行数。特定选项策略的模板在行数上有所不同。当我为期权交易添加模板时,我会按到期日期在电子表格上定位,而不是按交易策略(在7到10行之间变化)。电子表格最多可以有300到400行,这是需要警报的原因,此外,还有条件格式可以使利润单元格变为亮黄色以引起注意。警报可防止连续滚动以查找已达到目标的单元格。如果您具有检查单元格的条件格式,则只需使用VBA查找高亮显示的单元格并报告其位置或执行任何操作。您可以使用:
DisplayFormat.Interior.color
查找条件格式的单元格颜色。