Excel VBA 2016按计算将范围单元格传递给另一个工作表
我正在寻找一个代码来循环通过一个命名的范围单元格值,如果他们在sheet1中大于9。 如果单元格值(> 9)被发现,将该单元格的值作为计算值传递给sheet2
格式如下: Sheet2.Range(name).Cells.value = Sheet1.Range(name).Cells.value
目前我设法检查sheet1中的这些值,它的工作原理。
我无法分配sheet2 cellTarget循环中的值
码:
Dim rngSource As Range, cellSource As Range Dim rngTagert As Range, cellTarget As Range Set rngSource = Range("SourceRange") 'Sheet1 Set rngTagert = Range("TargetRange") 'Sheet2 For Each cellSource In rngSource If cellSource.Value >= 9 Then For Each cellTarget In rngTagert cellTarget.Value = cellSource.Value - 9 Next cellTarget Else cellTarget.Value = cellTarget.Value End If Next cellSource
错误显示“无效的下一个控制variables参考”
非常感谢
您
-
要么susbtitute
先用
Next cellTarget
Next cell
第二个
Next cell
与Next cellSource
-
或者用
Next
replaceNext cell
接下来是第二个选项 :
Sub main() Dim rngSource As Range, cellSource As Range Dim rngTagert As Range, cellTarget As Range Set rngSource = Range("SourceRange") 'Sheet1 Set rngTagert = Range("TargetRange") 'Sheet2 For Each cellSource In rngSource If cellSource.value >= 9 Then For Each cellTarget In rngTagert cellTarget.value = cellSource.value - 9 'Sheet2 Cell.Value = Sheet1 Cell.Value -9 Next Else cellSource.value = cellSource.value 'Sheet1 cellTarget.Value = cellTarget.Value 'Sheet2 End If Next End Sub