让我基本了解一下我正在尝试做的事情。我有两个工作簿:主工作簿和工作簿A.工作簿A中的信息将输入到主工作簿中。在工作簿A中,列X的数字介于1到25之间。我所关心的是大于14的值。
问题:如何创建一个查看X列(第1行)的VBA函数,看它是否大于14?如果是,那么它将复制整行并将其粘贴到主工作簿中,否则它将移动到列X2上。此外,在复制第1行并粘贴到主工作簿之后,我还需要它返回到工作簿A并检查列X的其余部分是否大于14。
提前非常感谢你!
答案 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
我希望这有帮助!