我有一个Excel用户表单和一些Excel VBA代码,可将某些工作表数据转换为准备导入到Access应用程序的格式。 该代码工作正常,但我已经决定,如果窗体和代码被移到Access应用程序而不是电子表格中,它会更好地用于开发和操作。如何通过Access VBA代码处理Excel工作簿
我在哪里可以学习如何将Excel VBA代码转换为在Access中工作或至少在Access VBA中处理Excel的编码参考?
仅仅根据 VBA ACCESS - Loop Excel workbooks 到目前为止我设法开始与这个(注:以下所有的都只是片段):
Private source_empl_col As Integer
Private xl_app As Object
Set xl_app = CreateObject("Excel.Application")
xl_app.Workbooks.Open (workbook_txt)
,我已经成功地转换
Private source_sheet As Worksheet
Set source_sheet = Worksheets(source_cbo.Text)
source_sheet.Activate
Dim ws As Integer
For ws = 1 To Worksheets.Count
source_cbo.AddItem Worksheets(ws).Name
从Excel VBA到Access VBA
xl_app.Sheets(source_cbo).Activate
Dim ws As Integer
For ws = 1 To xl_app.Worksheets.Count
source_cbo.AddItem xl_app.Worksheets(ws).Name
没有错误。然而,当涉及到从Excel VBA转换
source_empl_col = Range(empl_col_txt & 1).Column
到Access VBA
source_empl_col = xl_app.Sheets(source_cbo).Range(empl_col_txt.Text & 1).Column
甚至只是
source_empl_col = xl_app.Sheets(source_cbo).Range("B1").Column
我得到
Run-time error: '91'
Object variable ... not set.
只是有太多我需要翻译的代码迟到,所以它在Access中工作,而不知道我在做什么。 需要一些指导!
终于来了!看到电子表格的人不是数据库,也不是用户界面,在应用程序和自动化环境中不可扩展! – Parfait
不太确定你来自哪里,@Parfait,但我会把它当作恭维。 –