我能够适应此链接对于我的项目,但我正在寻找一种复制多行的方法。这是我的查询:
SELECT data_0.InvoiceNumber,
data_0.CustomerNumber,
data_0.CustomerName,
data_0.Address,
data_0.City,
data_0.State,
data_0.Zip,
data_0.Zone,
data_0.PartNumber,
data_0.PartDescription
FROM bitnami_wordpress.data data_0
WHERE (data_0.InvoiceNumber=?)
是invoicenumber
参数,并填充=Sheet2!$A$4
理想情况下,我会在 A 列中输入我的参数,并在 B:K 列中填充来自数据库的数据,有没有办法做到这一点而不必为每一行设置查询,几乎像“向下填充”一样?
答案1
你能详细说明一下吗,我对 VBA 和 mySQL 非常不熟悉,谢谢!
如何创建数组函数。
创建新工作簿。打开 VBA 编辑器。插入 - 模块。将以下代码复制到其中:
Option Base 0
Public Function ReturnArray(Optional val As Integer = 1) As Variant()
' Application.Volatile
Dim tmp()
ReDim tmp(1, 1)
tmp(0, 0) = val
tmp(0, 1) = val + 1
tmp(1, 0) = val + 2
tmp(1, 1) = val + 3
ReturnArray = tmp
End Function
在工作表上选择 A1:B2。将以下公式插入到公式字段:
=ReturnArray()
或者
=ReturnArray(1)
或者
=ReturnArray(C1)
使用 Ctrl-Enter 完成公式的输入,以显示它是数组公式。目标范围将填充计算值。
如果由于源值(最后一个公式中的 C1 单元格)发生更改而需要重新计算值,则必须按 F9 手动执行此操作。
您可以通过取消注释来强制自动计算Application.Volatile
- 但您必须记住,工作表上的任何更改都会触发重新计算。如果您的代码连接到外部服务器,这可能会非常昂贵。
与 MySQL 服务器的通信与与任何其他 DB 服务器的通信并无区别。安装适当的 MySQL 连接器,使用它创建适当的数据源,然后使用 ADODB 获取/编辑所需的数据。此过程在 MSDN 中有详细记录。