我正在寻找一个代码来遍历命名范围单元格值,如果它们在sheet1中大于9。如果找到Cells值(> 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
错误说“无效的下一个控制变量参考”
非常感谢
答案 0 :(得分:1)
在
要么先生
首先Next cell
Next cellTarget
第二个Next cell
与Next cellSource
或者只使用Next cell
Next
以下是第二个选项:
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