gpt4 book ai didi

vba - Excel VBA - 使用 VBA 创建新的格式化工作簿

转载 作者:行者123 更新时间:2023-12-04 19:52:48 34 4
gpt4 key购买 nike

我正在尝试编写程序的最后一部分,我需要从 Access 文档中提取数据并将其打印到新的工作簿中。

首先,我将获取产品供应商的名称并创建一个包含每个供应商名称的工作表,然后我想遍历每个工作表并打印每个供应商订购的产品。

我真的很纠结于如何打开一个新的工作簿并打印我的信息。

最佳答案

由于我之前的回答被删除了(被认为“不充分”),我必须提供一个更好的答案。

如果要将Access中的数据输出到Excel中,必须按照以下步骤操作:

  1. 创建(或打开)一个新工作簿
  2. 读取您的数据
  3. 将数据写入工作簿
  4. 格式化工作簿中的数据

我会专注于数据输出,并忽略格式化(数据部分是复杂的......格式化很容易)

首先,您需要在 Access 文件中启用 Excel 对象:工具菜单 > 引用。找到 Microsoft Excel 12.0 Object Library 并激活复选框。现在您可以使用完整的 Excel 库:-)

现在是处理数据的时候了。我假设您需要创建一个新工作簿:

public sub createExcelFile()
dim XL as Excel.Application, WB as Excel.Workbook, WKS as Excel.Worksheet
dim db as DAO.database, rec as DAO.recordset, f as DAO.field
dim i as integer, j as integer

' Prepare your Excel stuff
Set XL = new Excel.Application
XL.Visible = True
Set WB = XL.Workbooks.Add
WB.Activate
Set WKS = WB.ActiveSheet ' Default: The first sheet in the newly created book

' Read your data here
set db = currentdb()
set rec = db.openrecordset("tblSampleData")

' A simple table that will show the data from rec
' i and j will be the coordiantes of the active cell in your worksheet
with rec
.movefirst

' The table headers
i = 1
j = 1
for each f in .fields
WKS.cells(i,j).value = f.name
j = j + 1
next f

' The table data
do
i = i+1
j = 1
for each f in .Fields
WKS.cells(i,j).value = f.value
j = j+1
next f
.moveNext
loop until .EOF
end with
end sub

如果要格式化单元格,可以使用 WKS.cells(i,j)(或 WKS.range(...))属性。

看看我之前留下的链接(Siddarth Rout 很乐意将其移至评论)。

希望对你有帮助

关于vba - Excel VBA - 使用 VBA 创建新的格式化工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12267849/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com