Excel VBA - 搜索范围 - 如果单元格包含文本然后复制单元格 - 粘贴偏移2,1

时间:2016-01-22 19:20:06

标签: excel excel-vba vba

我正在尝试简化我每周工作的Excel工作表。

我正在尝试创建一个可以执行以下操作的VBA宏:

  1. 在列C中搜索包含文本的任何单元格,如果空白忽略它
  2. 如果在单元格中找到文本,复制该单元格,粘贴内容偏移(2,1)
  3. 任何人都可以给我任何帮助,我将不胜感激。我已经搜索了其他宏,并试图修改它们供我使用但无济于事。

        **Example Before Macro**
      A       B       C       D       E
    1                 Hi
    2                 Test
    3
    4                 Done
    5
    6
    
    **Example After Macro Has Been Run**
      A       B       C       D       E
    1                 Hi
    2                 Test
    3                         Hi
    4                 Done    Test
    5
    6                         Done
    

    当前代码:

    Sub CopyC()  
      Dim SrchRng As Range, cel As Range 
      Set SrchRng = Range("C1:C10") 
    
      For Each cel In SrchRng 
        If InStr(1, cel.Value) > 0 Then 
          cel.Offset(2, 1).Value = "-" 
        End If 
      Next cel 
    End Sub
    

1 个答案:

答案 0 :(得分:1)

你很关闭:

Sub CopyC()
Dim SrchRng As Range, cel As Range
Set SrchRng = Range("C1:C10")
For Each cel In SrchRng
    If cel.Value <> "" Then
        cel.Offset(2, 1).Value = cel.Value
    End If
Next cel
End Sub

enter image description here

我在D栏中添加了1-6,表明它忽略了空白