簡體   English   中英

Excel VBA 2016將范圍單元格傳遞到另一個工作表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM