搜索列的值,如果找到粘贴行转置到另一个工作表

时间:2017-09-07 05:35:18

标签: excel vba lookup paste

我正在尝试创建一个VBA宏:

  1. 在列中搜索特定值(用户键入单元格/对话框)
  2. 如果找到,请将行(从特定列开始)粘贴到另一个工作表中。
  3. 我的问题/问题是; 我的查找值可能有多个实例,我需要找到第一个实例并按上述方式粘贴,然后继续循环并粘贴该行的与第一个粘贴相邻的查找值的第二个实例,依此类推所有值的实例。

    这似乎应该是一个简单的FOR循环,但我遇到了困难

1 个答案:

答案 0 :(得分:0)

如果您有一张包含2张的工作簿:范围B1中的sheet1,sheet2和cell / dialog框,您可以尝试以下Sub

<强>代码

Option Explicit


Public Sub find_move()

Dim i As Integer

Dim i1 As Integer

Dim start As Integer

Dim count_ As Long

Dim col As Range

Set col = Sheet1.Range("A1")

start = 1

count_ = Sheet1.Range("A1").CurrentRegion.Rows.Count

For i = start To count_

If Sheet1.Cells(i, 1) = Sheet1.Range("B1") Then

i1 = i


 Sheet1.Activate

 Sheet1.Range(Cells(i1, 1), Cells(count_, 1)).Select

 Selection.Copy

 Sheet2.Activate

 Sheet2.Paste




start = i

ActiveCell.Offset(0, 1).Activate

End If



Next



End Sub