基于单元值的VBA粘贴

时间:2018-08-10 18:58:20

标签: excel vba excel-vba

我有两个工作表。

曾于2018-2019年将Data称为其他

如果第二行(2018-2019)中的值等于单元格m1(数据)中的值,我想将单元格m22(数据)中的值粘贴到行3(2018-2019)中。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

尝试:

Public Sub PasteBasedOnValue()

    Dim wb As Workbook
    Set wb = ActiveWorkbook

    Dim source As Worksheet
    Set source = wb.Sheets("Data")

    Dim dest As Worksheet
    Set dest = wb.Sheets("2018-2019")

    Dim valueToLookFor
    valueToLookFor = source.Range("M1")

    Dim valueToPaste
    valueToPaste = source.Range("M22")

    Dim rowToSearch As Integer
    rowToSearch = 2

    Dim rowToPaste As Integer
    rowToPaste = 3

    Dim maxCols As Integer
    maxCols = 256

    Dim c As Integer
    c = 1

    Do While c <= maxCols
        If dest.Cells(rowToSearch, c) = valueToLookFor Then
            dest.Cells(rowToPaste, c) = valueToPaste
            Exit Do
        End If
        c = c + 1
    Loop


End Sub

我将您的电子表格解释为如下图所示。根据您的回复,这并不完全是一样。因此,如果您可以粘贴真实电子表格的屏幕截图,则可以相应地修改代码。

My interpretation of your spreadsheet