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 cellNext cellSource

  • 或者用NextreplaceNext 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