遍历 Recordset 行并粘贴(如果为真)

Loop through Recordset rows and paste if true

我有一个记录集 rsDatabase,它是 SELECT * FROM 查询的输出,所以我想使用这个记录集,并且只在该行的特定列中的值为真时才粘贴行.

所以它会是这样的:

xlRow = 1
Do While Not rsDatabase.EOF
   If rsDatabase(rsDatabaseCol).Value = "example" Then
   'Paste the row here
   xlRow = xlRow + 1
   End If
rsDatabase.MoveNext
Loop

但是我不知道只粘贴一行的语法是什么。

根据您的评论,我建议使用 filter method of a recordset and then use CopyFromRecordSet。除非您想在 table.

的顶部添加列名,否则不需要循环
For i = 0 To rsDatabase.Fields.Count - 1
     Range("A1").Offset(0, i) = rsDatabase.Fields(i).Name
Next i
rsDatbase.Filter = rsDatabaseCol & " = 'example'"
rsDatabase.Range("A2").CopyFromRecordset