![](/img/trans.png)
[英]Excel 2016 copy range of cells - range determined by cell results on another sheet
[英]Excel VBA 2016 Passing range cells to another sheet as calculated
我正在尋找一個代碼來循環命名的范圍單元格值,如果它們大於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
錯誤顯示“無效的下一個控件變量引用”
非常感謝
您
要么懷疑
具有Next cellTarget
第一個Next cell
第二個具有Next cellSource
Next cell
或僅將每個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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.