我有一个记录集rsDatabase
,它是一个SELECT * FROM
查询的输出,因此我想使用此记录集,并且仅当该行的特定列中的值为true时才粘贴行。
所以会是这样:
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
但是我无法确定仅粘贴一行的语法。
答案 0 :(得分:1)
根据您的评论,我建议使用记录集的filter方法,然后使用CopyFromRecordSet。除非您要在表格顶部添加列名,否则不需要循环。
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