遍历 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
我有一个记录集 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