Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.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如何使用偏移量(x,x)减去偏移量(x,x)执行计算。=value.copy_Excel_Vba - Fatal编程技术网

Excel VBA如何使用偏移量(x,x)减去偏移量(x,x)执行计算。=value.copy

Excel VBA如何使用偏移量(x,x)减去偏移量(x,x)执行计算。=value.copy,excel,vba,Excel,Vba,我需要在我的代码中执行计算,尽管它必须使用偏移量来完成,例如cel.Offset(8,0)-cel.Offset(4,0)=value.copy StringDate = Format(DateAdd("m", -1, Now), "yyyymm") Set SrchRng = GNL.Sheets("sheet cat").Range("M2:BZ2") For Each cel In SrchRng If cel

我需要在我的代码中执行计算,尽管它必须使用偏移量来完成,例如
cel.Offset(8,0)-cel.Offset(4,0)=value.copy

StringDate = Format(DateAdd("m", -1, Now), "yyyymm")
Set SrchRng = GNL.Sheets("sheet cat").Range("M2:BZ2")
For Each cel In SrchRng
If cel.Value = StringDate Then


'need to performa calculation offset 8 minus offset 4

cel.Offset(8, 0).Copy

**‘ideally I would need something along the lines of (it is a crude example!):**
“cel.Offset(8,0)-cel.Offset(4,0)”=something,那么我需要复制它(并将其作为值粘贴到另一张表中,如下面的代码中)

我的代码正在搜索日期-1,然后找到它,然后我想要偏移量8减去偏移量4(等于99000,现在我需要粘贴这个结果)

celCF.Offset(3, 0).PasteSpecial xlPasteValues) 


请告知。谢谢

无需复制减法结果,只需将其分配到目标范围:
targetOnDifferentSheet.Value=cel.Offset(8,0).Value-cel.Offset(4,0).Value

然后在您的代码中,它会是这样的,
targetOnDifferentSheet
只是一个示例,在您的情况下,您希望使其动态化

Option Explicit

Dim SrchRng As Range
Dim cel As Range
Dim targetOnDifferentSheet As Range

Set SrchRng = Worksheets(1).Range("M2:BZ2")
Set targetOnDifferentSheet = Worksheets(2).Range("A1")

For Each cel In SrchRng

    targetOnDifferentSheet.Value = cel.Offset(8, 0).Value - cel.Offset(4, 0).Value

Next cel 

你的问题到底是什么,不清楚?哪部分不清楚SJR?你不能给表达式赋值(计算),那么你在这里要做什么?cel.Offset(8,0)-cel.Offset(4,0)=value.Copy“^What he said.@freeflow这只是我想要实现的一个粗略示例-我需要一位VBA专家向我展示/建议如何执行类似的操作-可能是一种不同的方法(尽管在这个For循环中我有)
Option Explicit

Dim SrchRng As Range
Dim cel As Range
Dim targetOnDifferentSheet As Range

Set SrchRng = Worksheets(1).Range("M2:BZ2")
Set targetOnDifferentSheet = Worksheets(2).Range("A1")

For Each cel In SrchRng

    targetOnDifferentSheet.Value = cel.Offset(8, 0).Value - cel.Offset(4, 0).Value

Next cel