首页 文章

如何确保复制的值取决于另一张表上的变量值?

提问于
浏览
-2

我想将表2中的一列复制到另一张表 .
但 Value 取决于以下条件:

  • 如果Sheet1 = 0,则将Sheet2中的 H103 复制到Sheet3列D.

  • 如果Sheet1 = 1,则将Sheet2中的 H3 复制到Sheet3列D,直到100 .

  • 如果Sheet1 = 100,则将表2中的 H102 复制到sheet3列D.

我是否需要写入条件直到第104行或我能做什么 . 请帮帮我!

SrcNodeld = Sheets("Sheet1").Columns("C").Column
Sheets("Sheet1").Activate

If SrcNodeld = 0 Then
    Sheets("Sheet2").Numbers("H103").Copy
    Sheets("Sheet3").Activate
    Columns("D").Select
    ActivateSheet.Paste
ElseIf SrcNodeld = 1 Then
    Sheets("Sheet2").Numbers("H3").Copy
    Sheets("Sheet3").Activate
    Columns("D").Select
    ActivateSheet.Paste
ElseIf SrcNodeld = 2 Then
    Sheets("Sheet2").Numbers("H4").Copy
    Sheets("Sheet3").Activate
    Columns("D").Select
End If

是的我想用于循环,但只是不知道如何 .

Sample Data:
sample

1 回答

  • 1

    希望我理解正确:

    在sheet1.C1中宏开始直到sheet1.Cx为空 . 如果sheet1.Cx = 0,则将sheet2.Dx(启动D103)复制到sheet34.Hx(启动H1)

    Sub copy()
    Dim sheet1 As Worksheet
    Dim sheet2 As Worksheet
    Dim sheet34 As Worksheet
    Set sheet1 = Worksheets("Sheet1")
    Set sheet2 = Worksheets("Sheet2")
    Set sheet34 = Worksheets("Sheet34")
    i = 1
    j = 103 'start sheet34 H103
    While Not IsEmpty(sheet1.Cells(i, 3)) 'start C1 to empty cell
    If sheet1.Cells(i, 3) = 0 Then
    sheet34.Cells(i, 4) = sheet2.Cells(j, 8)
    End If
    i = i + 1
    j = j + 1
    Wend
    End Sub
    

相关问题