VBA实例-向未打开的工作簿中输入数据

一:同目录下的员工花名册.xls中输入一个员工信息

此段实例来源于《别怕,VBA其实很简单》一个实例


image.png
'4.6.4向未打开的工作簿中输入数据
'在当前文件所在目录中的"员工花名册.xlsx"工作簿中添加一条记录
'思路:是先打开工作簿---输入数据---再关闭工作簿

Sub WbInput()
Dim wb As String, xrow As Integer, arr                                             '定义变量 ,这里呢把wb直接设为了路径
wb = ThisWorkbook.Path & "\员工花名册.xlsx"                                         '将文件全名赋值给wb
Workbooks.Open (wb)                                                                '打开花名册文件
With ActiveWorkbook.Worksheets(1)                                                 '在工作簿中第一张表里添加记录
    xrow = .Range("a1").CurrentRegion.Rows.Count + 1                              '取得表格中第一条空行号
    arr = Array(xrow - 1, "刘伟", "刘伟", "刘伟", "刘伟", "刘伟")                  '将要录入的工作表的数据呢保存到数组arr中
    .Cells(xrow, 1).Resize(1, 6) = arr                                           '将数组写入单元格区域
End With
ActiveWorkbook.Close savechanges:=True                                          '关闭工作簿,并保存修改
End Sub

我自己的方式写

Sub 我的方式()
Dim wb As Workbook, xrow As Integer, arr                                    '定义变量
Set wb = Workbooks.Open(Filename:=ThisWorkbook.Path & "\员工花名册.xlsx")    '打开工作簿并将把工作簿赋值给wb
With wb.Worksheets(1)
    xrow = .Range("a65535").End(xlUp).Row + 1                               '获取表格中第一条空行号
    arr = Array(xrow - 1, "刘伟", "刘伟", "刘伟", "刘伟", "刘伟")
    .Cells(xrow, 1).Resize(1, 6) = arr
End With
wb.Close savechanges:=True
End Sub
'这里我碰到了一个问题,wb.sheet1(代码名称)是会报错的,而wb.worksheets(1)怎不会,目前我推测是sheet1代码名称,前面不能加前缀
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容