Excel VBA找到具有特定值的列并复制以下值

时间:2019-01-14 04:54:00

标签: excel vba

尽管进行了多次尝试,我仍然不知道该怎么做。

我正在尝试

  1. 在各种标题范围内搜索特定文本/值 工作表(来自不同工作表“ DB”的特定文本/值)
  2. 找到具有该值的标题时,将所有数据复制到该标题下,并将其作为值粘贴到同一列中
  3. 复制具有匹配标题的列右侧第1列的公式,并将该单元格复制到已定义列的最后一行 该相应工作表的列 (例如,如果标头带有 在H11上找到值,复制I12的公式并粘贴到最后 I列A中的行)
  4. 对各种工作表范围内的所有标题重复此操作

我有以下几点,尽管我可以实现#1,但似乎在选择正确的单元格方面遇到困难。任何帮助将不胜感激!

Dim period As String
Dim ws As Worksheet
Dim rng As Range

period = Worksheets("DB").Range("A1")

For Each ws In ThisWorkbook.Sheets
    Select Case ws.Name
    Case "Total", "PH4", "Product"
        With ws
            For Each rng In .Range("G11:Z11")
                If rng.Value = period Then

                    'Change the data below the header into values
                    Range(rng.Column & "12:" & rng.Column & .Cells(Rows.Count, "C").End(xlUp).Row).Value = Value

                    'copy formula on the right
                    Range(rng.Column + 1 & "12").Copy
                    Range(rng.Column + 1 & "12:" & rng.Column + 1 & .Cells(Rows.Count, "C").End(xlUp).Row).PasteSpecial xlPasteFormulas

                    Exit For
                End If
            Next rng
        End With
    End Select
Next ws

0 个答案:

没有答案