搜索特定值,然后粘贴到另一个工作簿

时间:2014-01-08 03:35:02

标签: excel vba excel-vba

让我基本了解一下我正在尝试做的事情。我有两个工作簿:主工作簿和工作簿A.工作簿A中的信息将输入到主工作簿中。在工作簿A中,列X的数字介于1到25之间。我所关心的是大于14的值。

问题:如何创建一个查看X列(第1行)的VBA函数,看它是否大于14?如果是,那么它将复制整行并将其粘贴到主工作簿中,否则它将移动到列X2上。此外,在复制第1行并粘贴到主工作簿之后,我还需要它返回到工作簿A并检查列X的其余部分是否大于14。

提前非常感谢你!

1 个答案:

答案 0 :(得分:0)

此代码应该按您的要求执行:

Private Sub checkAndCopy()

Dim i As Integer
Dim lastRow As Integer
Dim foundItem As String
Dim j As Integer
Dim pasteTo As Range
Dim k As Integer

k = 0

lastRow = WorksheetFunction.CountA(Range("A:A"))

For i = 1 To lastRow
   If Cells(i, 24).Value > 14 Then
      k = k + 1
      For j = 1 To 24
         foundItem = Cells(i, j).Value
         Set pasteTo = Workbook(yourWorkbook).Cells(k, j)
         pasteTo.Value = foundItem
      Next j
    End If
Next i

End Sub

请注意,它会从第1行开始复制到新工作簿中。您可以让它搜索下一个空行,并通过包含以下内容添加到该行:

k = Workbook(yourWorkbook).WorksheetFunction.CountA(Range("A:A")) + 1

我希望这有帮助!