【问题标题】:VBA pasting based on cell vale基于单元格值的VBA粘贴
【发布时间】:2018-08-10 18:58:20
【问题描述】:

我正在使用两个工作表。

曾经被称为数据其他 2018-2019

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

我该怎么做?

【问题讨论】:

标签: vba excel


【解决方案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

我将您的电子表格解释为如下面的屏幕截图。根据您的回复,情况并非如此。因此,如果您可以粘贴真实电子表格的屏幕截图,我可以相应地修改我的代码。

【讨论】:

  • 这不起作用并不完全是 - 这粘贴到该行的第一列(可能是我解释得不好的错,我认为我混淆了行和列......尽管我交换了但不用担心我的列和行,因为我知道如何根据一个值粘贴到行中,只是不确定如何使用列(我问错了这个问题)。
  • 用我认为您的电子表格外观的屏幕截图编辑了我的答案。如果我能看到它的实际样子,我可以编辑我的代码。但如果你让它工作,那么我们可以考虑关闭!
猜你喜欢
  • 2015-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-13
相关资源
最近更新 更多